数据库基础概述讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
为了惟一地标识实体的每一个实例, 每个数据库表都应当有一个主键,而且只 能有一个主键。
有时表中可能没有一个字段具有惟一 性,没有任何字段可以作为表的主键。在 这种情况下,可以考虑使用两个或两个以 上字段的组合作为主键。
一个关系型数据库可能包含多个表,
可以通过外键(FOREIGN KEY)使这些 表之间关联起来。如果在表A中有一个字 段对应于表B中的主键,则该字段称为表A 的外键。
图1-2 主键与外键的关系
1.3.4 字段约束
设计表时,可对表中的一个字段或多 个字段的组合设置约束条件,让SQL Server检查该字段的输入值是否符合这个 约束条件。约束分为表级约束和字段级约 束两种。表级约束是一个表中几个字段的 约束,字段级约束则是对表中一个字段的 约束。
几种常见的约束形式。
关系型数据库模型是以二维矩阵来存 储数据的,行和列形成一个关联的数 据 表。
1.2.2 数据库管理系统
数据库管理系统是指在操作系统的支 持下帮助用户建立、使用和管理数据库的 软件系统。通常包含数据描述语言、数据 操作语言以及管理和控制程序三个组成部 分。
1.数据描述语言(Data Description Language)
设在一个关系型数据库中有A、B两个 表,对于表A中的任何一条记录,表B中可 能有多条记录与之对应;反过来,对于表 B中的任何一条记录,表A中却只能有一条 记录与之对应,则称这两个表是一对多的 关联。
(a)学生表一
(c)成绩表
(b)学生表二
(d)课程表
图1-3 关系型数据库表的关联
3.多对多关联(many-to-many)
2.FOREIGN KEY
FOREIGN KEY字段与其他表中的主 键字段或具有惟一性的字段相对应,其值 必须在所引用的表中存在,而且所引用的 表必须存放在同一关系型数据库中。如果 在外键字段中输入一个非NULL值,但该 值在所引用的表中并不存在,则这条记录 也会被拒绝。
外键字段本身的值不要求是惟一的。
1.3.6 表的关联
表之间的关联方式分为以下3种类型。
1.一对一关联(one-to-one)
设在一个数据库中有A、B两个表,对 于表A中的任何一条记录,表B中只能有一 条记录与之对应;反过来,对于表B中的 任何一条记录,表A中也只能有一条记录 与之对应,则称这两个表是一对一关联的。
2.一对多关联(one-to-many)
1.2.1 数据库
1.数据库的基本概念
数据库是存储在计算机系统内的有结 构的数据的集合。
这些数据是被数据库管理系统按一定 的组织形式存放在各个数据库文件中的。
数据库是由很多数据库文件以及若干 辅助操作文件组成的。
2.数据库的基本模型
基本的数据库模型有三种:网状数据 库模型、层次数据库模型和关系型数据库 模型。
组合作为数据库表的主键的场合,按照第 二范式的要求,在一个数据库表中,每一 个非主键字段必须完全依赖于整个主键 (亦即几个字段的组合),而不是只依赖 于构成主键的个别字段(这称为“部分依 赖”)。
只要主键值相同,其他所有非主键字
段值也必然相同;不可能在这个表中找到 这样两条记录,它们的主键值相同,却有 某个非主键字段值不相同。
(3)联系:即实体之间存在的联系。在ER图中,联系用菱形框表示。联系的类型 可以是1-1、1-n、n-m等。
姓名
性别
电话号码
家庭住址
学生
图1-4 学生实体E-R图
作E-R图的一般步骤是,先确定实体 集与联系集,把参加联系的实体集连接起 来,然后分别连上诸实体的属性和联系的 属性。当实体集与联系较多时,为了E-R 图的整洁和可读性起见,有时可以略去属 性。
图1-9 学生信息表student_Info
图1-10 成绩信息表result_Info
图1-11 课程信息表course_Info
3.第三范式
如果一个数据库表满足第二范式的要 求,而且该表中的每一个非主键字段不传 递依赖于主键,则称这个数据库表属于第 三范式。
3.参照完整性
参照完整性(Referential Integrity) 是用于确保相关联的表间的数据保持一致。 当添加、删除或修改关系型数据库表中的 记录时,可以借助于参照完整性来保证相 关联的表之间的数据一致性。
4.用户自定义完整性
用户自定义完整性(User-defined Integrity)是一种强制数据定义。
数据管理是指对数据的组织、存储、 维护和使用等。
数据管理的方法分为三个阶段:人工 管理阶段、文件管理阶段和数据库系统阶 段。
1.2 数据库系统的组成
一个数据库系统(Database System) 一般是由数据库(Database)、数据库管 理系统(Database Management System, DBMS)以及数据库用户组成。广义地说, 数据库系统是由计算机硬件、操作系统、 数据库管理系统以及在它支持下建立起来 的数据库、数据库应用程序、用户和维护 人员组成的一个整体。
1.PRIMARY KEY
PRIMARY KEY用来保证表中每条记 录的惟一性。
可用一个字段或多个字段(最多16个 字段)的组合作为这个表的主键。用单个 字段作为主键时,使用字段级约束;用字 段组合作为主键时,则使用表级约束。
每个表只能有一个主键。如果不在主
键字段中输入数据,或输入的数据在前面 已经输入过,则这条记录将被拒绝。
6.DEFAULT
DEFAULT约束用于指定一个字段的 默认值,当尚未在该字段中输入数据时, 该字段中将自动填入这个默认值。若对一 个字段添加了NOT NULL约束,但又没有 设置DEFAULT约束,就必须在该字段中 输入一个非NULL值,否则将会出现错误。
1.3.5 数据完整性
规划关系型数据库表时有两个重要步 骤:其一是如何确定一个字段的有效值, 其二是决定如何强制实施字段的数据完整 性。数据完整性分为以下4种类型。
第 1 章 数据库基础概述
1.1
数据库系统简介
1.2
数据库系统的组成
1.3
关系型数据库
1.4
关系型数据库的设计
数据库技术研究解决计算机信息处理
过程中大量数据有效地组织和存储的问题, 在数据库系统中减少数据存储冗余,实现 数据共享,保障数据安全以及高效地检索 数据和处理数据。
1.1 数据库系统简介
1.实体完整性
实体完整性(Entity Integrity)用于 保证关系型数据库表中的每一条记录都是 惟一的,建立主键的目的就是为了实施实 体完整性。一个表中的主键不能取空值, 也不能取重复的值。
2.域完整性
域完整性(Domain Integrity)用于保 证给定字段中数据的有效性,即保证数据 的取值在有效的范围内。
1.系统程序员 2.数据库管理员 3.应用程序员 4.操作员
1.2.4 数据库系统的网络结构
1.Main Frame大型数据库 2.本地小型数据库 3.分布式数据库 4.客户机/服务器数据库
1.3 关系型数据库
关系型数据库是指一些相关的表和其 他数据库对象的集合。在关系型数据库中, 信息存放在二维表格结构的表中,一个关 系型数据库包含多个数据表,每一个表包 含行(记录)和列(字段)。
3.NULL与NOT NULL
若在一个字段中允许不输入数据,则 可以将该字段定义为NULL,如果在一个 字段中必须输入数据,则应当将该字段定 义为NOT NULL。
出现NULL值意味着用户还没有为该字 段输入值,NULL值既不等价于数值型数 据中的0,也不等价于字符型数据中的空字 符串。
4.UNIQUE
用来描述数据库的结构,供用户建立 数据库。
2.数据操作语言(Data Manipulation LangUage,DML)
供用户对数据库进行数据的查询(数 据的检索和统计等)和处理(数据的增加、 删除和修改等)等操作。
3.管理和控制程序
包括安全、通信控制和工作日志等。
1.2.3 数据库系统的用户
如果一个关系型数据库表中的每一字 段值都是单一的,则称这个表属于第一范 式。按照第一范式的要求,表中的每个字 段都应当是不可再分的。
图1-8 符合1NF的数据库表
2.第二范式
如果一个数据库表满足第一范式的要 求,而且它的每个非主键字段完全依赖于 主键,则称这个数据库表属于第二范式。
第二范式仅用于以两个或多个字段的
一个E-R图由实体、属性和联系三种 基本要素组成。
(1)实体:即现实世界中存在的、可以相 互区别的人或事物。一个实体集合对应于 数据库中的一个表,一个实体则对应于表 的一行,也称为一条记录。在E-R图中, 实体用矩形框表示。
(2)属性:表示实体或联系的某种特征。 一个属性对应于数据库表中的一列,也称 为一个字段。在E-R图中,属性用椭圆表 示。
这3个范式的等级有高低之分,其中第 三范式最高,第二范式次之,第一范式最 低。在1NF的基础上又满足某些特性才能 达到第二范式的要求,在2NF的基础上再 满足一些要求才能达到第三范式的要求。 将这3个范式运用于关系型数据库设计中, 能够简化设计过程,并达到减少数据冗余、 提高查询效率的目的。
1.第一范式
如果一个字段值不允许重复,则应当 对该字段添加UNIQUE约束。与主键不同 的是,在UNIQUE字段中允许出现NULL 值,但为保持惟一性,最多只能出现一次 NULL值。
5.CHECK
CHECK约束用于检查一个字段或整 个表的输入值是否满足指定的检查条件。 在表中插入或修改记录时,如果不符合这 个检查条件,则这条记录将被拒绝。
2.概念设计
目的是将需求说明书中关于数据的需 求,综合为一个统一的概念模型。首先根 据单个应用的需求,画出能反映每一应用 需求的局部E-R模型。然后把这些E-R模型 图合并起来,消除冗余和可能存在的矛盾, 得出系统总体的E-R模型。
3.实现设计
目的是将E-R模型转换为某一特定的 DBMS能够接受的逻辑模式。对关系型数 据库,主要是完成表的关联和结构的设计。
横的
表头
一行
给出
称为
字段
Biblioteka Baidu
一个
名
记录
纵的一列称为 一个字段
图1-1 学生信息表
1.3.3 主键与外键
表中的每行记录都必须是惟一的,而 不允许出现完全相同的记录。
通过定义主键(PRIMARY KEY)来 保证记录(实体)的惟一性。
一个表的主键由一个或多个字段组成,
其值具有惟一性,而且不允许取空值 (NULL),主键的作用是惟一地标识表 中的每一条记录。
设一个关系型数据库中有A、B两个表, 对于表A中的任何一条记录,表B中可能有 多条记录与之对应;反过来,对于表B中 的任何一条记录,表A中也有多条记录与 之对应,则称这两个表是多对多关联的。
1.4 关系型数据库的设计
1.4.1 E-R模型
E-R模型(Entity-Relationship)即实 体—联系模型,是1976年P.P.S.Chen 提出的。这种模型用E-R图来表示实体及 其联系,广泛用于数据库设计中。
学号
姓名
课程号
课程名
姓名
年龄
学生
学习
(学号、课程号、分数)
年龄
性别
课程 学时数
任课
教员
年龄
教员编号
图1-5 一个E-R图例
1.4.2 数据库设计过程
数据库的设计都要经历需求分析、概 念设计、实现设计和物理设计几个阶段。
1.需求分析
目的是分析系统的需求。该过程的主 要任务是从数据库的所有用户那里收集对 数据的需求和对数据处理的要求,并把这 些需求写成用户和设计人员都能接受的说 明书。
关系型数据库都有多个表。关系型数
据库所包含的表之间是有关联的,关联性 由主键、外键所体现的参照关系实现。关 系型数据库不仅包含表,还包含其他数据 库对象,例如关系图、视图、存储过程和 索引等。
1.3.2 关系型数据库与表
关系型数据库是由多个表和其他数据 库对象组成的。表是一种最基本的数据库 对象,是由行和列组成的,表中的每一行 通常称为一条记录,表中的每一列称为一 个字段,表头的各列给出了各个字段的名 称。
4.物理设计
目的在于确定数据库的存储结构。主 要任务包括:确定数据库文件和索引文件 的记录格式和物理结构,选择存取方法, 决定访问路径和外存储器的分配策略等。
1.4.3 关系型数据库规范化分析
关系规范化理论来指导关系型数据库 的设计。E.F.Codd在1970年提出的关系 型数据库设计的三条规则,通常称为三范 式(Normal Form),即第一范式 (1NF)、第二范式(2NF)和第三范式 (3NF)。