




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQL Server 数据库原理及应用,主编:曾长军 副主编:朱剑锋 刘坤 SQL Server 数据库原理及应用配套课件,第1章 数据库基础概述,1.1 数据库系统简介 1.2 数据库系统的组成 1.3 关系型数据库 1.4 关系型数据库的设计 1.5 小结,讲解提纲,1.1 数据库系统简介,什么是数据管理 对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题 数据管理技术的发展过程 人工管理阶段(40年代中-50年代中) 文件系统阶段(50年代末-60年代中) 数据库系统阶段(60年代末-现在),一、人工管理,时期 40年代中-50年代中 产生的背景 应用需求 科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理,人工管理(续),特点 数据的管理者:应用程序,数据不保存。 数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 数据控制能力:应用程序自己控制,应用程序与数据的对应关系(人工管理),二、文件系统,时期 50年代末-60年代中 产生的背景 应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理,文件系统(续),特点 数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的结构化:记录内有结构,整体无结构 数据的独立性:独立性差,数据的逻辑结构 改变必须修改应用程序 数据控制能力:应用程序自己控制,应用程序与数据的对应关系(文件系统),三、数据库系统,时期 60年代末以来 产生的背景 应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理,数据库系统(续),特点 数据的管理者:DBMS 数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的 逻辑独立性 数据的结构化:整体结构化 数据控制能力:由DBMS统一管理和控制,应用程序与数据的对应关系(数据库系统),数据库阶段信息处理方式的演变,数据的高共享性的好处,降低数据的冗余度,节省存储空间 避免数据间的不一致性 使系统易于扩充,数据独立性,物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,数据结构化,整体数据的结构化是数据库的主要特征之一。 数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释。 数据可以变长。 数据的最小存取单位是数据项。,DBMS对数据的控制功能,数据的安全性(Security)保护 使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。 数据的完整性(Integrity)检查 将数据控制在有效的范围内,或保证数据之间满足一定的关系。,DBMS对数据的控制功能,并发(Concurrency)控制 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 数据库恢复(Recovery) 将数据库从错误状态恢复到某一已知的正确状态。,1.2 数据库系统的组成,1.2.1 数据库(定义) 1.2.2 数据库管理系统 1.2.3 数据库系统的用户,1.2.1 数据库(定义),人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息 数据库的定义 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合,数据库(举例),数据库(续),数据库的特征 数据按一定的数据模型组织、描述和储存 可为各种用户共享 冗余度较小 数据独立性较高 易扩展,数据库的基本模型 网状数据库模型 层次数据库模型 关系型数据库模型,数据库(续),1.2.2 数据库管理系统,什么是DBMS 数据库管理系统 (Database Management System,简称DBMS) 数据库管理系统是指在操作系统的支持下帮助用户建立、使用和管理数据库的软件系统。通常包含数据描述语言、数据操作语言以及管理和控制程序三个组成部分。,DBMS的组成,数据描述语言(Data Description Language) 用来描述数据库的结构,供用户建立数据库。 数据操作语言(Data Manipulation LangUage,DML) 供用户对数据库进行数据的查询(数据的检索和统计等)和处理(数据的增加、删除和修改等)等操作。 管理和控制程序 包括安全、通信控制和工作日志等。,1.2.3 数据库系统的用户,系统程序员 负责整个数据库系统的设计工作,一举用户的需求安装数据库管理系统,建立维护数据库管理系统及相关软件的工具,涉及合适的数据库及表文件,对整个数据库存取权限作出规划。 数据库管理员 (DBA)支持数据库系统的专业技术人员。,应用程序员 负责编写访问数据库的面向终端用户的应用程序,是用户可以 友好的使用数据库。可以使用Visual Basic、Delphi、PHP、ASP、JSP等。 操作员 操作应用程序软件来访问数据库,利用数据库系统完成日 常工作,不关心数据库的具体格式及其维护和管理问题。,数据库系统的用户(续),1.2.4 数据库系统的网络结构,Main Frame大型数据库 大型数据库是由一台性能很强的计算机(称为主机或者数据库服务器)负责处理庞大的数据,用户通过终端机与大型主机相连,以存取数据。 本地小型数据库 在用户较少、数据量不大的情况下,可使用本地小型数据库。一般是由个人建立的个人数据库。常用的DBMS有Access和Foxpro等。 分布式数据库 分布式数据库就是为了解决大型数据库反应缓慢的问题而提出的,它是由多台数据库服务器组成。数据可来自不同的服务器。 客户机/服务器数据库 随着微机的发展,其运算速度越来越快,而且价格低廉。在利用网络将终端机(一般为微机)和数据库服务器连接后。就可以从数据库服务器中存取数据,而且部分工作可以由终端机来完成,以分散数据库服务器的负担,这样数据库服务器就不必是价格昂贵的大型主机了。这就是客户机服务器数据库网络结构。,1.3 关系型数据库,1.3.1 关系型数据库定义 1.3.2 关系型数据库与表 1.3.3 主键与外键 1.3.4 字段约束 1.3.5 数据完整性 1.3.6 表的关联,1.3.1 关系数据库定义,关系型数据库概念是由EFCodd博士提出的。1976年6月他发表了关于大型共享数据库数据的关系模型的论文,在论文中他阐述了关系数据库模型及其原理,并把它用于数据库系统中。 数据库系统的发展经历了三个阶段:网状数据库、层次数据库和关系数据库。而关系型数据库之所以能被广泛的应用,是因为它将每个具有相同属性的数据独立地存储在一个表中。它解决了层次型数据库的横向关联不足的缺点,也避免了网状数据库关联过于复杂的问题。 关系型数据库是指一些相关的表和其他数据库对象的集合。,1.3.2 关系数据库与表,数据库是由多个表和其他数据库对象组成的。 在数据库中,表是一种最基本的数据库对象,类似于电子表格,是由行和列组成的,除第一行(表头)以外,数据库表中的每一行通常称为一条记录,表中的每一列称为一个字段,表头的各列给出了各个字段的名称。 如下图所示。,关系数据库与表(续),1.3.3 主键与外键,关系模型要求数据库表中的每行记录都必须是惟一的,而不允许出现完全相同的记录。在设计数据库表时,可以通过定义主键(Primary Key)来保证记录(实体)的惟一性。 为了惟一地标识实体的每一个实例,每个数据库表都应当有一个主键,而且只能有一主键。 一个关系型数据库可能包含多个表,可以通过外键(Foreign Key)使这些表之间关联起来。 如图所示的学生考试“成绩表”中有两个外键,一个是学号“student_id”,其详细信息存储在“学生表”中;另一个是课程编号“course_no”,其详细信息存储在“课程表”中。在上述例子中,“成绩表”和“学生表”各有一个“学号”字段,该字段在“成绩表”中是外键,在“学生表”中则是主键,但这两个字段的数据类型以及字段宽度必须完全一样,字段的名称可以相同,也可以不相同。,主键与外键(续),1.3.4 字段约束,设计数据库表时,可对表中的一个字段或多个字段的组合设置约束条件,让SQL Server检查该字段的输入值是否符合这个约束条件。约束分为表级约束和字段级约束两种。表级约束是一个表中几个字段的约束,字段级约束则是对表中一个字段的约束。 PRIMARY KEY PRIMARY KEY即前面提到的主键,用它保证表中每条记录的唯一性。设计一个数据库表时,可用一个字段或多个字段(最多16个字段)的组合作为这个表的主键 。用单个字段作为主键时,使用字段约束;用字段组合作为主键时,则使用表级约束。 FOREIGN KEY 外键字段与其他表中的主键字段或具有唯一性的字段相对应,其值必须在所引用的表中存在,而且所引用的表必须存放在同一数据库中。,字段约束,NULL与NOT NULL 若在一个字段中允许不输入数据,则可以将该字段定义为NULL,如果在一个字段中必须输入数据,则应当将该字段定义为NOT NULL。NULL值既不等价于数值型数据中的0,也不等价于字符型数据中的空字符串。 UNIQUE 如果一个字段值不允许重复,则应当对该字段添加UNIQUE约束。与主键不同的是,在UNIQUE字段中允许出现NULL值,但为保持唯一性,最多只能出现一次NULL值。 CHECK CHECK约束用于检查一个字段或整个表的输入值是否满足指定的检查条件。 DEFAULT DEFAULT约束用于指定一个字段的默认值,当尚未在该字段中输入数据时,该字段中将自动填入这个默认值。,1.3.5数据完整性,实体完整性(Entity Integrity) 实体完整性用于保证数据库表中的每一条记录都是唯一的,建立主键的目的就是为了实施实体完整性。一个表中的主键不能取空值,也不能取重复的值。例如,选择“学号”字段作为“学生表”中的主键时,每一条记录中的“学号”字段值就应输入一个非空值,而且必须是各不相同的。 域完整性(Domain Integrity) 域完整性用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。 例如,限制“成绩”字段的值是在0到100之间;在“成绩表”中“学号”字段是一个外键,该字段的值只能是“学生表”已经存在的学号,如果在该字段中输入“学生表”所没有的学号,也将破坏该字段的域完整性。,数据完整性,参照完整性(Referential Integrity) 参照完整性是用于确保相关联的表间的数据保持一致。当添加、删除或修改数据库表中的记录时,可以借助于参照完整性来保证相关联的表之间的数据一致性。例如,在“学生表”中修改了某个学号,就必须在“成绩表”或其他相关联的表进行相同的修改,否则其他表中的相关记录就会变成无效记录。 用户自定义完整性(User-defined Integrity) 这是由用户自己定义的完整性,不同于前面3种完整性,也可说是一种强制数据定义。 例如,在输入学生表的记录时,应确保“学号”字段不为空(NOT NULL),否则与“学号”字段是主键矛盾。,1.3.6表的关联,一对一关联(one-to-one) 设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中只能有一条记录与之对应;反过来,对于表B中的任何一条记录,表A中也只能有一条记录与之对应,则称这两个表是一对一关联的。 一对多关联(one-to-many) 设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反过来,对于表B中的任何一条记录,表A中却只能有一条记录与之对应,则称这两个表是一对多的关联。 多对多关联(many-to-many) 设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反过来,对于表B中的任何一条记录,表A中也有多条记录与之对应,则称这两个表是多对多关联的。,数据联系的描述,数据联系的描述,图 多对多联系,1.4 关系型数据库设计,1.4.1 E-R模型 1.4.2 数据库设计过程 1.4.3 关系型数据库规范化分析,1.4.1 E-R模型,ER模型有三个基本要素: 实体:即现实世界中存在的、可以相互区别的人或事物。一个实体集合对应于数据库中的一个表,一个实体则对应于表的一行,也称为一条记录。在E-R图中,实体用矩形框表示。 属性:表示实体或联系的某种特征。一个属性对应于数据库表中的一列,也称为一个字段。在E-R图中,属性用椭圆表示。 联系:即实体之间存在的联系。在E-R图中,联系用菱形框表示。联系的类型可以是1-1、1-n、n-m等。,例:三个实体类型:零件PART,工程项目ROJECT,零件供应商SUPPLIER。 确定联系类型。PROJECT和PART之间是M:N联系,PART和SUPPLIER之间也是M:N联系,分别命名为P_P和P_S. 把实体类型和联系类型组合成ER图。 确定实体类型和联系类型的属性。 确定实体类型的键,在ER图中属于码的属性名下画一条横线。,图 ER图实例,1.4.2 数据库设计过程(一),需求分析 目的是分析系统的需求。该过程的主要任务是从数据库的所有用户那里收集对数据的需求和对数据处理的要求,并把这些需求写成用户和设计人员都能接受的说明书。 概念设计 目的是将需求说明书中关于数据的需求,综合为一个统一的概念模型。首先根据单个应用的需求,画出能反映每一应用需求的局部ER模型。然后把这些ER模型图合并起来,消除冗余和可能存在的矛盾,得出系统总体的ER模型。 实现设计 目的是将ER模型转换为某一特定的D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冲压安全培训意义课件
- 冲击钻安全生产培训课件
- 退伙协议模板:文化创意产业合伙企业退出协议
- 零售连锁便利店品牌区域代理及承包经营协议
- 韩世远:城市绿道划拨土地房产交易合同
- 环保节能项目合作保密及科技成果转化协议
- 水电站项目委托代建与环保措施合同
- 五星级酒店厨房厨师聘用及技能培训服务合同
- 保障作战课件
- 2025简约合同范本
- GB/T 33339-2025全钒液流电池系统测试方法
- 护理标识管理制度
- 探讨跨界融合创新在智能数字服装设计中的应用和发展前景
- 面料培训资料
- 失血性贫血的护理
- 相控阵超声波检测技术培训
- 职业培训学校管理制度
- 《党政机关厉行节约反对浪费条例》培训课件
- 工商业光伏施工总承包合同
- 参考儿科急危重症抢救预案及流程
- 中信集团管理制度
评论
0/150
提交评论