教学第1章数据库基本知识课件_第1页
教学第1章数据库基本知识课件_第2页
教学第1章数据库基本知识课件_第3页
教学第1章数据库基本知识课件_第4页
教学第1章数据库基本知识课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章数据库基本知识

11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege第1章数据库基本知识11/22/2022AnIntro1、有M个人一起去旅游,要住宾馆,假设一个房间只能住N个人,请问要开几个房间?2、假设给你3瓶啤酒,商家规定,2个空酒瓶可以兑换1瓶啤酒,在不另外掏钱的情况下,最多可以喝到几瓶啤酒?3、经理安排你组织一台2小时的晚会,请你设计出方案。小测试11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1、有M个人一起去旅游,要住宾馆,假设一个房间只能住N个人,1.1数据库系统简介1.2数据库系统的组成1.3关系型数据库讲解提纲11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.1数据库系统简介讲解提纲11/22/2022AnIn1.1数据库系统简介思考:全校学生成绩管理系统包括哪些数据?应该如何保存?数据管理:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据管理技术的发展过程人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.1数据库系统简介思考:全校学生成绩管理系统包括哪些数据一、人工管理时期40年代中--50年代中产生的背景应用需求 科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理 主要特点:数据包含在程序中,程序员设计程序的同时也要考虑数据的存贮11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege一、人工管理时期11/22/2022AnIntroduct人工管理(续)特点数据的管理者:应用程序,数据不保存。数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege人工管理(续)特点11/22/2022AnIntroduc应用程序与数据的对应关系(人工管理)

应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序与数据的对应关系(人工管理)应用程序1数据集1应用程二、文件系统时期50年代末--60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理 11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege二、文件系统时期11/22/2022AnIntroduct文件系统(续)特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,改变数据的逻辑结构则必须修改应用程序数据控制能力:应用程序自己控制11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege文件系统(续)特点11/22/2022AnIntroduc应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序三、数据库系统时期60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理 11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege三、数据库系统时期11/22/2022AnIntroduc数据库系统(续)特点数据的管理者:DBMS(数据库管理系统)数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据库系统(续)特点11/22/2022AnIntrodu应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用数据库阶段信息处理方式的演变11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据库阶段信息处理方式的演变11/22/2022AnInt数据的高共享性的好处降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充独立性强,数据与程序独立存放11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据的高共享性的好处11/22/2022AnIntrodu数据独立性物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据独立性物理独立性11/22/2022AnIntrodu数据结构化数据的结构化是数据库的主要特征之一。数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释。数据可以变长。数据的最小存取单位是数据项(dataitem),也称为字段(field),列(column)。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据结构化数据的结构化是数据库的主要特征之一。11/22/2DBMS对数据的控制功能数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollegeDBMS对数据的控制功能数据的安全性(Security)保护DBMS对数据的控制功能并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollegeDBMS对数据的控制功能并发(Concurrency)控制11.2数据库系统的组成1.2.1数据库的定义1.2.2数据库管理系统1.2.3数据库系统的用户11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2数据库系统的组成1.2.1数据库的定义11/221.2.1数据库的定义人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合、数据库由若干数据库文件和辅助文件组成分类:网状,层次,关系,共3类,称为3种数据模型,最重要的是关系数据库关系数据库的主要内容就是表(table)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.1数据库的定义人们收集并抽取出一个应用所需要的大量关系数据库中最主要的成分是表11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege关系数据库中最主要的成分是表11/22/2022AnInt1.2.1数据库的定义数据库的特征数据按一定的数据模型组织、描述和储存,逻辑性(logic)强共享性(shareable)好冗余度(redundancy)较小数据独立性(independency)较高易于扩充(expansion)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.1数据库的定义数据库的特征11/22/2022An数据库的基本模型网状数据库模型:每个记录看成是一个节点,任何节点与节点之间可建立关联,形成网状结构层次数据库模型:分层管理数据,形成单位行政机构、家族式数据结构关系型数据库模型:以二维表形式组织数据,每一行称为一条记录,每一列是一个属性,称为一个字段数据库的分类11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据库的基本模型数据库的分类11/22/2022AnInt1.2.2数据库管理系统数据库管理系统(DatabaseManagementSystem-DBMS)在操作系统的支持下,帮助用户建立、使用和管理数据库的软件系统。通常包含数据描述语言(DDL)、数据操作语言(DML)以及管理和控制程序三个组成部分。

11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.2数据库管理系统数据库管理系统(DatabaseDBMS的组成数据描述语言(DML-DataDescriptionLanguage):用来描述数据库的结构,供用户建立数据库。数据操作语言(DML-DataManipulationLangUage):供用户对数据库进行数据的查询(数据的检索和统计等)和处理(数据的增加、删除和修改等)等操作。管理和控制程序:包括安全管理、通信控制和工作日志管理等程序。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollegeDBMS的组成数据描述语言(DML-DataDescrip1.2.3数据库系统的用户数据库系统的用户,共有4类:系统程序员负责整个数据库系统的设计工作,根据用户的需求安装数据库管理系统,建立维护数据库管理系统及相关软件的工具,设计合适的数据库及表文件,对整个数据库存取权限做出规划。数据库管理员(DBA-DatabaseAdministrator)DBA是支持数据库系统的专业技术人员,决定数据库结构,维护数据,管理帐号,备份及恢复数据,提高系统效率。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.3数据库系统的用户数据库系统的用户,共有4类:11应用程序员负责编写访问数据库的面向终端用户的应用程序,是用户可以友好地使用数据库。可以使用VisualBasic、Java、.net、Delphi、PHP、ASP、JSP等语言访问数据库。操作员操作应用程序软件来访问数据库,利用数据库系统完成日常工作,不关心数据库的具体格式及其维护和管理问题。数据库系统的用户(续)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序员数据库系统的用户(续)11/22/2022AnI1.2.4数据库系统的体系结构大型数据库由一台性能很强的计算机(称为主机或者数据库服务器)负责处理庞大的数据,用户通过终端机与大型主机相连,以存取数据。如Oracle,Sybase,IBMDB2,Informix,SQLServer。中小型数据库在用户较少、数据量不大的情况下,可使用本地小型数据库。一般是由个人建立的个人数据库。如:Access,Foxpro,MySQL。Excel也可以认为是简单数据库。分布式数据库分布式数据库就是为了解决大型数据库反应缓慢的问题而提出的,它是由多台数据库服务器组成,数据可来自不同的服务器。客户机/服务器数据库

利用网络将终端机(一般为微机)和数据库服务器连接,终端从数据库服务器中存取数据,并分担服务器的部分运算任务,以分散数据库服务器的负担,这样数据库服务器就不必是价格昂贵的大型主机了,采用客户机服务器数据库网络结构。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.4数据库系统的体系结构大型数据库11/22/2021.3关系型数据库

1.3.1关系型数据库定义1.3.2关系型数据库与表1.3.3主键与外键1.3.4字段约束1.3.5数据完整性1.3.6表的关联

11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3关系型数据库1.3.1关系型数据库定义11/1.3.1关系数据库定义关系型数据库概念是由E.F.Codd1976年6月博士提出的。数据库模型(数据模型)分为三种类型:网状数据库、层次数据库和关系数据库。而关系型数据库之所以能被广泛的应用,是因为它将每个具有相同属性的数据独立地存储在一个表中。它解决了层次型数据库的横向关联不足的缺点,也避免了网状数据库关联过于复杂的问题。我们所看到的数据库都是关系数据库。关系型数据库是指一些相关的表和其他数据库对象的集合。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.1关系数据库定义关系型数据库概念是由E.F.Cod1.3.2关系数据库与表

数据库是由多个表和其他数据库对象(如约束关系,用户,安全性,日志)组成的。在数据库中,表是一种最基本的数据库对象,类似于电子表格,是由行和列组成的,除第一行(表头)以外,数据库表中的每一行通常称为一条记录(也叫无组),表中的每一列称为一个字段,表头的各列给出了各个字段的名称,可以称为表结构。如下图所示。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.2关系数据库与表11/22/2022AnI关系数据库与表(续)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege关系数据库与表(续)11/22/2022AnIntrodu1.3.3主键与外键关系模型要求数据库表中的每行记录都必须是惟一的,而不允许出现完全相同的记录。在设计数据库表时,可以通过定义主键(PrimaryKey)来保证记录(实体)的惟一性。每个数据库表都有且只有一个主键。一个关系型数据库可能包含多个表,可以通过外键(ForeignKey)使这些表之间关联起来。学生信息表课程信息表

学号姓名性别班级0901张三男09310902李四女09990890王小二男0808课程号课程名任课老师课时B01JAVA刘一72D15英语刘二54F08VB刘三妹6811/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.3主键与外键关系模型要求数据库表中的每行记录都必须主键与外键(续)下图的“成绩表”中有两个外键,一个是学号“student_id”,其详细信息存储在“学生表”中;另一个是课程编号“course_no”,其详细信息存储在“课程表”中。“成绩表”和“学生表”各有一个“学号”字段,该字段在“成绩表”中是外键,在“学生表”中则是主键,但这两个字段的数据类型以及字段宽度必须完全一样,字段的名称可以相同,也可以不相同。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege主键与外键(续)下图的“成绩表”中有两个外键,一个是学号“1.3.4字段约束设计数据库表时,可对表中的一个字段或多个字段的组合设置约束条件,让SQLServer检查该字段的输入值是否符合这个约束条件。约束分为表级约束和字段级约束两种。表级约束是一个表中几个字段的约束,字段级约束则是对表中一个字段的约束。

PRIMARYKEY即主键,用来保证表中每条记录的唯一性。设计一个数据库表时,可用一个字段或多个字段(最多16个字段)的组合作为这个表的主键。用单个字段作为主键时,使用字段约束;用字段组合作为主键时,则使用表级约束。

FOREIGNKEY

外键字段与其他表中的主键字段或具有唯一性的字段相对应,其值必须在所引用的表中存在,而且所引用的表必须存放在同一数据库中。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.4字段约束设计数据库表时,可对表中的一个字段或多个字段约束

NULL与NOTNULL(空值/非空值)

若在一个字段中允许不输入数据,则可以将该字段定义为NULL,如果在一个字段中必须输入数据,则应当将该字段定义为NOTNULL。NULL值既不等价于数值型数据中的0,也不等价于字符型数据中的空字符串。UNIQUE(唯一)如果一个字段值不允许重复,则应当对该字段添加UNIQUE约束。与主键不同的是,在UNIQUE字段中允许出现NULL值,但为保持唯一性,最多只能出现一次NULL值。CHECK(检查)CHECK约束用于检查一个字段或整个表的输入值是否满足指定的检查条件。DEFAULT(默认值)DEFAULT约束用于指定一个字段的默认值,当尚未在该字段中输入数据时,该字段中将自动填入这个默认值。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege字段约束NULL与NOTNULL(空值/非空值)111.3.5数据完整性实体完整性(EntityIntegrity)实体完整性用于保证数据库表中的每一条记录都是唯一的,建立主键的目的就是为了实施实体完整性。一个表中的主键不能取空值,也不能取重复的值。例如,选择“学号”字段作为“学生表”中的主键时,每一条记录中的“学号”字段值就应输入一个非空值,而且必须是各不相同的。域完整性(DomainIntegrity)域完整性用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。

例如,限制“成绩”字段的值是在0到100之间;在“成绩表”中“学号”字段是一个外键,该字段的值只能是“学生表”已经存在的学号,如果在该字段中输入“学生表”所没有的学号,也将破坏该字段的域完整性。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.5数据完整性实体完整性(EntityIntegr数据完整性参照完整性(ReferentialIntegrity)参照完整性是用于确保相关联的表间的数据保持一致。当添加、删除或修改数据库表中的记录时,可以借助于参照完整性来保证相关联的表之间的数据一致性。例如,在“学生表”中修改了某个学号,就必须在“成绩表”或其他相关联的表进行相同的修改,否则其他表中的相关记录就会变成无效记录。用户自定义完整性(User-definedIntegrity)这是由用户自己定义的完整性,不同于前面3种完整性,也可说是一种强制数据定义。例如,在输入学生表的记录时,应确保“学号”字段不为空(NOTNULL),否则与“学号”字段是主键矛盾。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据完整性参照完整性(ReferentialIntegr1.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中也有多条记录与之对应,则称这两个表是多对多关联的。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.6表的关联一对一关联(one-to-one)11/2数据联系的描述一对一联系一对多联系11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据联系的描述一对一联系一对多联系11/22/2022An数据联系的描述图多对多联系11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据联系的描述图多对多联系11/22/2022AnIn第1章数据库基本知识

11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege第1章数据库基本知识11/22/2022AnIntro1、有M个人一起去旅游,要住宾馆,假设一个房间只能住N个人,请问要开几个房间?2、假设给你3瓶啤酒,商家规定,2个空酒瓶可以兑换1瓶啤酒,在不另外掏钱的情况下,最多可以喝到几瓶啤酒?3、经理安排你组织一台2小时的晚会,请你设计出方案。小测试11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1、有M个人一起去旅游,要住宾馆,假设一个房间只能住N个人,1.1数据库系统简介1.2数据库系统的组成1.3关系型数据库讲解提纲11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.1数据库系统简介讲解提纲11/22/2022AnIn1.1数据库系统简介思考:全校学生成绩管理系统包括哪些数据?应该如何保存?数据管理:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据管理技术的发展过程人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.1数据库系统简介思考:全校学生成绩管理系统包括哪些数据一、人工管理时期40年代中--50年代中产生的背景应用需求 科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理 主要特点:数据包含在程序中,程序员设计程序的同时也要考虑数据的存贮11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege一、人工管理时期11/22/2022AnIntroduct人工管理(续)特点数据的管理者:应用程序,数据不保存。数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege人工管理(续)特点11/22/2022AnIntroduc应用程序与数据的对应关系(人工管理)

应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序与数据的对应关系(人工管理)应用程序1数据集1应用程二、文件系统时期50年代末--60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理 11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege二、文件系统时期11/22/2022AnIntroduct文件系统(续)特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,改变数据的逻辑结构则必须修改应用程序数据控制能力:应用程序自己控制11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege文件系统(续)特点11/22/2022AnIntroduc应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序三、数据库系统时期60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理 11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege三、数据库系统时期11/22/2022AnIntroduc数据库系统(续)特点数据的管理者:DBMS(数据库管理系统)数据面向的对象:现实世界 数据的共享程度:共享性高 数据的独立性:高度的物理独立性和一定的逻辑独立性 数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据库系统(续)特点11/22/2022AnIntrodu应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用数据库阶段信息处理方式的演变11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据库阶段信息处理方式的演变11/22/2022AnInt数据的高共享性的好处降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充独立性强,数据与程序独立存放11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据的高共享性的好处11/22/2022AnIntrodu数据独立性物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据独立性物理独立性11/22/2022AnIntrodu数据结构化数据的结构化是数据库的主要特征之一。数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释。数据可以变长。数据的最小存取单位是数据项(dataitem),也称为字段(field),列(column)。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据结构化数据的结构化是数据库的主要特征之一。11/22/2DBMS对数据的控制功能数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollegeDBMS对数据的控制功能数据的安全性(Security)保护DBMS对数据的控制功能并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollegeDBMS对数据的控制功能并发(Concurrency)控制11.2数据库系统的组成1.2.1数据库的定义1.2.2数据库管理系统1.2.3数据库系统的用户11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2数据库系统的组成1.2.1数据库的定义11/221.2.1数据库的定义人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合、数据库由若干数据库文件和辅助文件组成分类:网状,层次,关系,共3类,称为3种数据模型,最重要的是关系数据库关系数据库的主要内容就是表(table)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.1数据库的定义人们收集并抽取出一个应用所需要的大量关系数据库中最主要的成分是表11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege关系数据库中最主要的成分是表11/22/2022AnInt1.2.1数据库的定义数据库的特征数据按一定的数据模型组织、描述和储存,逻辑性(logic)强共享性(shareable)好冗余度(redundancy)较小数据独立性(independency)较高易于扩充(expansion)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.1数据库的定义数据库的特征11/22/2022An数据库的基本模型网状数据库模型:每个记录看成是一个节点,任何节点与节点之间可建立关联,形成网状结构层次数据库模型:分层管理数据,形成单位行政机构、家族式数据结构关系型数据库模型:以二维表形式组织数据,每一行称为一条记录,每一列是一个属性,称为一个字段数据库的分类11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege数据库的基本模型数据库的分类11/22/2022AnInt1.2.2数据库管理系统数据库管理系统(DatabaseManagementSystem-DBMS)在操作系统的支持下,帮助用户建立、使用和管理数据库的软件系统。通常包含数据描述语言(DDL)、数据操作语言(DML)以及管理和控制程序三个组成部分。

11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.2数据库管理系统数据库管理系统(DatabaseDBMS的组成数据描述语言(DML-DataDescriptionLanguage):用来描述数据库的结构,供用户建立数据库。数据操作语言(DML-DataManipulationLangUage):供用户对数据库进行数据的查询(数据的检索和统计等)和处理(数据的增加、删除和修改等)等操作。管理和控制程序:包括安全管理、通信控制和工作日志管理等程序。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollegeDBMS的组成数据描述语言(DML-DataDescrip1.2.3数据库系统的用户数据库系统的用户,共有4类:系统程序员负责整个数据库系统的设计工作,根据用户的需求安装数据库管理系统,建立维护数据库管理系统及相关软件的工具,设计合适的数据库及表文件,对整个数据库存取权限做出规划。数据库管理员(DBA-DatabaseAdministrator)DBA是支持数据库系统的专业技术人员,决定数据库结构,维护数据,管理帐号,备份及恢复数据,提高系统效率。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.3数据库系统的用户数据库系统的用户,共有4类:11应用程序员负责编写访问数据库的面向终端用户的应用程序,是用户可以友好地使用数据库。可以使用VisualBasic、Java、.net、Delphi、PHP、ASP、JSP等语言访问数据库。操作员操作应用程序软件来访问数据库,利用数据库系统完成日常工作,不关心数据库的具体格式及其维护和管理问题。数据库系统的用户(续)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege应用程序员数据库系统的用户(续)11/22/2022AnI1.2.4数据库系统的体系结构大型数据库由一台性能很强的计算机(称为主机或者数据库服务器)负责处理庞大的数据,用户通过终端机与大型主机相连,以存取数据。如Oracle,Sybase,IBMDB2,Informix,SQLServer。中小型数据库在用户较少、数据量不大的情况下,可使用本地小型数据库。一般是由个人建立的个人数据库。如:Access,Foxpro,MySQL。Excel也可以认为是简单数据库。分布式数据库分布式数据库就是为了解决大型数据库反应缓慢的问题而提出的,它是由多台数据库服务器组成,数据可来自不同的服务器。客户机/服务器数据库

利用网络将终端机(一般为微机)和数据库服务器连接,终端从数据库服务器中存取数据,并分担服务器的部分运算任务,以分散数据库服务器的负担,这样数据库服务器就不必是价格昂贵的大型主机了,采用客户机服务器数据库网络结构。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.2.4数据库系统的体系结构大型数据库11/22/2021.3关系型数据库

1.3.1关系型数据库定义1.3.2关系型数据库与表1.3.3主键与外键1.3.4字段约束1.3.5数据完整性1.3.6表的关联

11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3关系型数据库1.3.1关系型数据库定义11/1.3.1关系数据库定义关系型数据库概念是由E.F.Codd1976年6月博士提出的。数据库模型(数据模型)分为三种类型:网状数据库、层次数据库和关系数据库。而关系型数据库之所以能被广泛的应用,是因为它将每个具有相同属性的数据独立地存储在一个表中。它解决了层次型数据库的横向关联不足的缺点,也避免了网状数据库关联过于复杂的问题。我们所看到的数据库都是关系数据库。关系型数据库是指一些相关的表和其他数据库对象的集合。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.1关系数据库定义关系型数据库概念是由E.F.Cod1.3.2关系数据库与表

数据库是由多个表和其他数据库对象(如约束关系,用户,安全性,日志)组成的。在数据库中,表是一种最基本的数据库对象,类似于电子表格,是由行和列组成的,除第一行(表头)以外,数据库表中的每一行通常称为一条记录(也叫无组),表中的每一列称为一个字段,表头的各列给出了各个字段的名称,可以称为表结构。如下图所示。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.2关系数据库与表11/22/2022AnI关系数据库与表(续)11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege关系数据库与表(续)11/22/2022AnIntrodu1.3.3主键与外键关系模型要求数据库表中的每行记录都必须是惟一的,而不允许出现完全相同的记录。在设计数据库表时,可以通过定义主键(PrimaryKey)来保证记录(实体)的惟一性。每个数据库表都有且只有一个主键。一个关系型数据库可能包含多个表,可以通过外键(ForeignKey)使这些表之间关联起来。学生信息表课程信息表

学号姓名性别班级0901张三男09310902李四女09990890王小二男0808课程号课程名任课老师课时B01JAVA刘一72D15英语刘二54F08VB刘三妹6811/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege1.3.3主键与外键关系模型要求数据库表中的每行记录都必须主键与外键(续)下图的“成绩表”中有两个外键,一个是学号“student_id”,其详细信息存储在“学生表”中;另一个是课程编号“course_no”,其详细信息存储在“课程表”中。“成绩表”和“学生表”各有一个“学号”字段,该字段在“成绩表”中是外键,在“学生表”中则是主键,但这两个字段的数据类型以及字段宽度必须完全一样,字段的名称可以相同,也可以不相同。11/26/2022AnIntroductionofDatabaseSystem-SoftwareSchool,ChangshaSocialWorkCollege主键与外键(续)下图的“成绩表”中有两个外键,一个是学号“1.3.4字段约束设计数据库表时,可对表中的一个字段或多个字段的组合设置约束条件,让SQLServer检查该字段的输入值是否符合这个约束条件。约束分为表级约束和字段级约束两种。表级约束是一个表中几个字段的约束,字段级约束则是对表中一个字段的约束。

PRIMARYKEY即主键,用来保证表中每条记录的唯一性。设计一个数据库表时,可用一个字段或多个字段(最多16个字段)的组合作为这个表的主键。用单个字段作为主键时,使用字段约束;用字段组合作为主键时,则使用表级约束。

FOREIGNKEY

外键字段与其他表中的主键字段或具有唯一性的字段相对应,其值必须在所引用的表中存在,而且所引用的表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论