数据库笔记

  • 数据库概述

    1.1数据库应用领域

    1.2数据库系统概述

    五个基本概念

    • 数据(Data)
    • 信息(Information)
    • 数据库(Database,DB)
    • 数据库管理系统(Database Management System,DBMS)
    • 数据库系统(Database System,DBS)

    1. 数据:数据表示了登记者的一种特征或特性。

    定义:描述事物的符号记录

    种类:数字、文字、声音、图形、图像、音频和视频等多种形式。

    数据的特点:数据的含义称为数据的语义,数据和语义不可分的。

    2.信息:信息是数据经过加工处理后的有用的数据结果。

    简单地说:有用的数据就是信息。

      例如:数据:某班学生成绩(57,82,90,……) 信息:不及格人数,优秀人数,及格率

    数据与信息的区别

    数据与信息不同,数据指的是用符号记录下来的可区别的一种事物的特征或事实,信息是反映现实世界的知识。

      信息是以数据的形式表示,即数据是信息的载体

    信息是抽象的,而数据是具体的

    3.数据库(Database,简记为DB)

    什么是数据库?

    长期存储在计算机内、有组织的、可共享的大量数据的集合。

    为什么要建立数据库?

    收集并抽取出一个应用所需要的大量数据,将其保存,以供进一步加工处理,抽取有用信息,转换为有价值的知识

    数据的特点:数据按一定的数据模型组织、描述和储存。可为各种用户共享、冗余度较小、易扩展数据独立性较高

    4. 数据库管理系统(DBMS, Database Management System )

    位于用户应用与操作系统之间的一层数据管理软件

    是基础软件,是一个大型复杂的软件系统。

    4. 数据库管理系统(DBMS)

    DBMS的功能:

    (1)数据的定义功能

    提供数据定义语言(DDL,Data Definition Language)。

    定义各种类型的数据。

    (2)数据的操纵功能

    提供数据操纵语言(DML,Data Manipulation Language)。

    实现对数据库的基本操作 (查询、插入、删除和修改)。

    (3)数据库的事务管理和运行管理

    数据的安全性、完整性、多用户对数据的并发使用。

    发生故障后的系统恢复数据库。

    (4)数据库的建立和维护功能

    提供实用程序/工具,完成数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等。

    拓展:时下流行的DBMS简介

    OracleOracle公司的产品,世界上最好的数据库系统

    支持70多种操作系统,配置、管理和维护复杂

    主要满足对银行、金融、保险等企业、事业开发大型数据库需求

    MySQL瑞典MySQLAB公司开发,现在MySQL并入了Oracle旗下

    体积小、速度快、成本低、开放源码

    广泛地应用在Internet上的中小型网站

    SQL ServerMicrosoft公司的产品,针对不同用户群体的多个版本

    要求在Windows操作系统平台上运行易用性好

    5.数据库系统(Database System,简称DBS)

    定义:是指在计算机系统中引入数据库后的系统构成。

    数据库系统的构成:数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员DBA,Database Administrator)、用户 

    数据库的操作方式

    对数据库的操作方式主要有两种:

    (1) 交互方式

    所谓“交互方式”是指数据库使用者利用数据库管理系统提供的软件工具,直接对数据库进行操作,操作结果立即返回到操作界面。这种软件工具一般有两种形式,一种是图形界面,如Navicat;另一种是命令方式,如用户输入SQL命令后,操作结果立即返回到界面上。

    (2) 程序嵌入方式

    SQL语句被嵌入到高级语言(称为宿主语言)中,使用者通过编程使用SQL语句对数据库操作,如Java、ASP.NET、VB等。

    1.3 数据管理技术的产生和发展

    数据管理技术的发展过程

    人工管理阶段(20世纪40年代中期--50年代中期)

    文件系统阶段(20世纪50年代末期--60年代中期)

    数据库系统阶段(20世纪60年代末期--现在)


    物理独立性:当数据的存储格式和组织方法改变时,不影响数据库的逻辑结构,从而不影响应用程序。

    逻辑独立性:当数据库的逻辑结构变化时(如数据定义的修改、数据间联系的变更等),不会影响用户的应用程序,即应用程序无须修改。

    人工管理阶段应用程序与数据之间的对应关系



    阶段小结

    了解数据库技术的应用

            掌握数据库的5基本概念

            了解数据管理技术发展的三个阶段

     目的:了解基本知识,初步掌握基本概念

      难点:需要掌握数据库领域大量的基本概念


    1.4 数据模型

        数据库中的数据是按一定的数据模型组织、描述和存储。

        现有的数据库系统均是基于某种数据模型的。


    ——如MySQL、Access、SQL Server、Oracle是关系型、Redis是非关系型。

    .模型与数据模型

    模型是对现实世界的模拟和抽象

    数据模型是现实世界中数据特征的抽象。

    数据模型应满足三方面要求

            能比较真实地模拟现实世界

            容易为人所理解

            便于在计算机上实现

    数据模型是数据库系统的核心和基础

    1、数据模型的定义

    定义:数据库中的数据是按一定的方式存储在一起的,这种数据的组织结构又称为数据模型,它决定了数据库中数据之间联系的表达方式。

    2、数据模型的分类(层次上)

    (1)概念模型(信息模型)

    按用户的观点来对数据和信息建模,用于数据库设计

    (2)逻辑模型和物理模型(统称结构模型)

    a)逻辑模型:按计算机系统的观点对数据建模,用于DBMS实现。

            主要包括关系模型、层次模型、网状模型、面向对象模型和对象关系模型等。其中最常用的是关系模型

    b)物理模型是对数据最底层的抽象,描述数据在系统内(磁盘上)的表示方式和存取方法

    二、概念模型

    所谓概念模型就是对现实世界数据的抽象与模拟。

    概念模型的用途:

    概念模型用于信息世界的建模

    是现实世界到机器世界的一个中间层次

    是数据库设计的有力工具

    数据库设计人员和用户之间进行交流的语言

    1、基本概念

     (1)实体(Entity)

    客观存在并且可以互相区分的事物。可以是实际的事物,如一名学生、一本书等;也可以是抽象的事件,如一场比赛、一个创意等。

     (2)属性(Attribute)

    实体的某一特性称为属性。一个实体可以由若干个属性来刻画。

     (3)码(Key)

    唯一标识实体的属性集。

     (4)实体型(Entity Type)

    实体名及其属性名集合来抽象和刻画同类实体,称为实体型。

     (5)实体集(Entity Set

    同一类型实体的集合称为实体集。

     (6) 联系(Relationship):在现实世界中,事物内部和事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。

    实体内部的联系: 是指组成实体的各属性之间的联系。

    实体之间的联系: 通常是指不同实体集之间的联系。

    实体之间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)三种类型。

    1、实体之间的联系的种类

    一对一联系


    一对多联系

    多对多联系

    3、表示方法

    概念模型的一种表示方法:

    实体-联系方法(Entity-Relationship Approach)

    E-R来描述现实世界的概念模型

    E-R方法也称为E-R模型

    E-R图

    提供了表示实体型、属性和联系的方法:

    实体型:用矩形表示,矩形框内写明实体名。

    属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。

    联系:用菱形表示菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1∶1,1∶n mn)。

            ①两个实体型之间的联系

    两个以上的实体型之间:也可以存在一对一、一对多、多对多的联系 。

    单个实体型内的联系:也存在一对一、一对多、多对多的联系。

    阶段小结

    信息世界的建模

    概念模型的基本概念

    概念模型的表示方法:E-R

    其中:

    着重介绍了E-R模型的基本概念和图示方法

    重点掌握实体型、属性和联系的概念

    理解实体型之间的一对一、一对多和多对多联系

    三、数据库的逻辑模型

    数据模型(其实是指逻辑模型)

    数据模型是严格定义的一组概念的集合,精确地描述了系统的静态特性、动态特性和完整性约束条件。

    逻辑模型要素

    (1)数据结构--描述系统的静态特性

    描述数据的组成对象以及对象之间的联系。

    层次结构、网状结构、关系结构

    (2)数据操作--描述系统的动态特性

    检索、更新(包括插入、删除、修改)

    (3)完整性约束

    一组完整性规则的集合。

    完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则。

    1、分类

     典型的逻辑模型主要有以下几种:层次、网状、关系等模型。

    归类:

    非关系模型:层次模型(Hierarchical  Model)、网状模型(Network  Model)

    关系模型(Relational Model) 

     2、关系模型 

    1970年美国IBM公司研究员E.F.Codd提出关系模型。

    关系模型建立在严格的数学概念的基础上。

    基于关系模型的数据库称为关系数据库(如MySQL)

    计算机厂商推出的数据库管理系统几乎都支持关系模型。

    (1)关系模型的数据结构

    用户观点下,关系模型中数据的逻辑结构是一张二维表

    关系模型的数据结构——相关概念

    (1)关系(Relation)

    一个关系对应通常说的一张二维表

    (2)元组(Tuple

    表中的行(记录)即为一个元组。

    (3)属性(Attribute)

    表中的一即为一个属性(字段)给每一个属性起一个名称即属性名(字段名)

    (4)域(Domain)

    是一组具有相同数据类型的值的集合

            属性的取值范围来自某个域。


    例:学生年龄属性的域(15~45岁);

    性别的域是(男,女);

    系名的域是一个学校所有系名的集合。

    (5)分量:元组中的一个属性值

    (6)关系模式:对关系的描述。

    关系名(属性1,属性2,…,属性n)


    如:学生(学号,姓名,年龄,性别,系,年级)

    课程(课程号,课程名,学分)

    (7)关键码(键,key)

    超键(super key)在关系中能唯一标识元组的属性集称为关系模式的超键/码。

    候选键(candidate key)不含多余属性的超键称为候选键,即其真子集不再是超键


    (换句话说,在候选键中,若再删除一个属性,就不是键了)

            主键(primary key)用户选作元组标识的一个候选键称为主键,是候选键之一。

    以上三者的关系:候选键是超键的子集,主键是候选键中的一个。

    举例

    学生(学号,身份证号,性别,年龄,身高,体重 )

       超键:在关系中能唯一标识元组的属性集


    只要含有“学号”或者“身份证号”两个属性的集合就叫超键,例如R1(学号,性别)、R2(身份证号 ,身高)、R3(学号,身份证号)等等都可以称为超键。

    候选键:不含有多余属性的超键。


    学号)、(身份证号)都是候选键。

    主键:用户从很多候选键中选出来的一个键。


    比如选择学号是主键,则身份证号就不可以做主键了,反之亦然。

    外键(外关键字,foreign key) :设K是关系模式R中的属性,但不是主键。如果K是其它模式的主键,那么k在模式R中称为外键。


    例如有两个关系模式如下:

    学生(学号,身份证号,性别,年龄,身高,体重,宿舍号

    宿舍(宿舍号,楼号)

    其中,宿舍号就是学生关系模式的外键。

    关系模型的数据结构——性质

    关系必须是规范化的,满足一定的规范条件。

    最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表


       例:图中工资和扣除是可分的数据项,不符合关系模型要求。

    其他:

    每一列中的数值是同类型的数据,来自同一个域。

    不同的列应给予不同的属性名。

    任意两个元组不能完全相同。

    行列的次序可以任意交换。

    关系与表格术语的对比

    (2)关系模型的操纵与完整性约束

    数据操作是集合操作,操作对象和操作结果都是关系

    查询

    插入

      删除

    更新

    存取路径对用户隐蔽,用户只要指出找什么”,不必详细说明怎么找” →提高了数据的独立性,提高了用户生产率。

    3、概念模型向关系模型转换的基本方法

    转换内容:将E-R图转换为关系模型: 将实体型、实体的属性和实体型之间的联系转化为关系模式。

    (1)实体型的转换
    一个实体型转换为一个关系模式。
    关系模式的属性:实体的属性。
    关系模式的码:实体的码。

    (2)联系类型的转换

    二元联系类型的转换规则:

    实体之间是1:1的联系,可以在两个实体类型转换的两个模式中某一端关系模式的属性中加入另一端关系模式的键 与 联系的属性;

    例子:

    实体之间是1:N的联系,在N端关系模式中加入1端关系的键 与 联系的属性;

    实体之间是M:N的联系,该M:N联系转换为一个关系模式其属性为两端实体类型的键 与 联系的属性;

    如果有主码完全相同的关系,一般要将它们合并成一个关系。

    *补充:

    把参与联系的实体型的数目称为联系的

    两个实体型之间的联系度为2,也称为二元联系

    三个实体型之间的联系度为3,也称为三元联系

    N实体型之间的联系度为N,也称为N元联系


    二元联系示例


    三元联系示例

    一元联系类型的转换和二元联系类型的转换类似。

    三元联系类型的转换:

    1:1:1---可以在三个实体类型转换成的三个关系模式中任意一个关系模式的属性中加入另两个关系模式的键和联系的属性。

    1:1:N---N实体类型转换成的关系模式中加入两个1端实体类型的键和联系的属性。

    1:M:N---则将联系类型也转换成关系模式,其属性为M端和N端实体类型的键加上联系的属性,而键为M端和N端实体键的组合。

    M:N:P---则将联系类型也转换成关系模式,其属性为三端实体类型的键加上联系的属性,而键为三端实体键的组合。

    阶段小结

    需要了解的:

    层次和网状数据库的内容十分精简。

    这两类系统虽然有它们的缺点,但是执行效率高是他们的显著优点。

    需要牢固掌握的:

    概念模型的基本概念、表示方法(E-R图)

    关系数据模型的基本概念

    概念模型向关系模型转换的基本方法

    难点:

    数据模型的概念对于刚刚学习数据库的同学来说会感到比较抽象

    1.5 数据库系统结构

                  考察数据库系统的结构可以有多种不同的层次或不同的角度。

            从数据库应用开发人员角度

                    数据库系统采用三级模式结构,是数据库系统内部的系统结构。

            从数据库最终用户角度看,数据库系统的结构有:

    一、数据库系统模式的概念

    数据库系统的三级模式结构是指数据库系统是由外模式、模式、内模式三级构成。

    1型(Type)是指对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值。前面讲的关系模式就可以理解为型,而具体每一行元组就是值。

    2模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例(Instance)。同一个模式可以有多个实例。

    模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

    二、数据库系统的三级模式结构

    数据库系统的三级模式结构是指数据库系统是由外模式、模式、内模式三级构成。

    模式(也称逻辑模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式的中间层,既不涉及数据的物理存储细节,也与具体的开发工具无关。一个数据库只有一个模式。

    定义模式:DDL定义数据的逻辑结构,以某种数据模型为基础。


    数据记录由哪些数据项构成,数据项的名字、类型、取值范围等。

    定义数据之间的联系。

    定义与数据有关的安全性、完整性要求。

    外模式也称子模式或用户模式):是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中其余数据是不可见的。

    内模式(也称存储模式):是数据物理结构和存储方式的描述。是数据在数据库内部的表示方式。

            记录的存储方式


    (例如,顺序存储,堆存储,Cluste按hash方法存储等)

    索引的组织方式(B+树,Bitmap,Hash)

    数据是否压缩存储

    数据是否加密

    数据存储记录结构的规定—如定长/变长,记录是否可以跨页存放等

    一个数据库只有一个内模式。

    三、数据库的二级映像功能和数据独立性

    外模式/模式映像

    对每一个外模式,有一个外模式/模式映像。

    当模式改变时,由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式不变。应用程序是依据数据的外模式编写的,从而应用程序不用修改保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

    模式/内模式映像

    数据库中模式/内模式映像是唯一的。

    定义了数据全局逻辑结构与存储结构之间的对应关系。当数据的存储结构改变了(例如选用了另一种存储结构),由数据库管理员对模式/内模式映像做相应更改,可以使模式保持不变,从而应用程序也不用变保证了数据与程序的物理独立性,简称数据的物理独立性

    数据与程序的独立性大大减少了应用程序的修改和维护

    总结图:数据库系统的三级模式结构+两层映像功能

    本章小结

    数据、信息、DB、DBMS、DBS等概念。

    数据库设计是数据库维护与管理的重要内容,设计的关键为数据模型的建立。相关的基本知识:

    数据模型的分类;

    概念模型的相关概念,E-R图表示方法;

    关系模型的相关概念;

    概念模型à关系模型的主要步骤。

    数据库系统的三级模式结构+两层映像功能(图)。

    重点要求:熟练掌握E-R图及转换为关系模式的基本方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值