您好,欢迎访问三七文档
工程数据库第1章绪论1.1数据库的常用术语1.1.1数据与数据处理更一般地把数据定义为:凡是能够经过数字化处理存入汁算机的符号都称为数据。在日常生活个,人们直接用自然语言,如汉语、英语等表示数据。在计算机中,为了方便存储和处理这些数据,通常将描述事物特征的若干数据组成一个数据记录(record).学生(姓名,性别,出生日期,籍贯,所在系别,入学日期)并将其称为记录型(record,type),也称为记录的逻辑结构。它是对学生特征的一个抽象描述。这里“学生”称为记录名,其中的姓名、性别、出生日期等称为字段(field)。记录型中每个字段取确定的值时,例如,(李明、男,1972/08/21,江苏,计算机系,1990/09/01)构成记录1.1.2信息与数据的关系信息=数据+数据处理具体地说,信息与数据有如下的区别和联系:1)数据是描述客观事物特征或性质的某种符号;2)数据是载荷信息的物理符号并被称为载体;3)数据能表示信息,但并非任何数据都是信息;4)信息是数据处理的结果.是人们能理解的、有用的数据。1.1.3数据独立性1.1.4数据库系统1.2计算机数据管理技术的产生和发展1.2.1人工管理阶段1.2.2文件系统阶段1.2.3数据库系统阶段1.2.4数据库技术的发展1.2.5数据库技术的主要研究领域1.3.1数据模型的构成1.3.2数据模型的分类1.3.3实体联系(E-R)模型1.34常用的结构数据模型1.3数据模型1.4数据库系统的模式结构14.1数据库系统模式的概念142数据库的二级模式1.43数据库的二级映像功能与数据独立性1.5DBMS的功能1.6数据库系统的组成1.3.1数据模型的构成(1)数据结构数据结构是计算机数据组织方式和数据之间联系的框架描述。一般可分为两类:—类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等;另一类是与数据之间联系有关的对象,例如关系模型中的外键(foreignkey)。数据结构是刻画一个数据模型的最关键要素。(2)数据操作数据操作是指对数据库中各种对象类的实例(或取值)所允许执行的操作的集合、包括操作方法及有关的操作规则,它是对数据库动态特性的描述。在数据库中,数据操作主要有数据检索和更新(包括插入、删除、修改)两大类。数据模型定义及这些操作的语义、操作符号、操作规则(如优先级)以及实现操作的语言。(3)完整性约束完整性约束是指对数据的—组完整性规则(约束条件)的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定数据库中数据的状态以及状态的变化,以保证数据的正确性、有效性和相容性。一个数据模型通常都规定了本数据模型必须遵守的基本和通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。此外,一个数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定约束条件。1.3.2数据模型的分类1)概念数据模型。这种数据模型是用户容易理解的、对现实世界持征的数据抽象,它与具体的DBMS无关,是数据库设计员与用户之间进行交流的语言。(DBMS::数据库管理系统:databasemanagementsystem)2)结构数据模型,又称逻辑数据模型。它是用户从数据库中所看到的数据模型,是具体的DBMS所支持的数据模型,比如网状数据模型、层次数据模型、关系数据模型和面向对象数据模型等,它们都是结构数据模型的一种。结构数据模型既要面向用户,也要面向系统,一般由概念数据模型转换得到。一般的DBMS支持一种结构数据模型,特殊的DBMS可以支持多种结构数据模型。3)物理数据模型,是描述数据在存储介质上组织结构的数据模型,它不但与具体的DBMS有关,而且还与操作系统和硬件有关,是物理层次的数据模型。每一种结构数据模型在实现时都有其对应的物理数据模型。三类数据模型在数据库设计过程中的地位和关系1.3.3实体—联系(E-R)模型•实体•属性•实体型•实体集•关键字•域•联系联系的种类1)一对一联系(1:1)。如果对于实体集A中的每一个实体,实体策B中至多有一个(也可以没有)实体与之联系,反之亦然.则称实体集A与实体集B具有一对一联系,记为1:1。2)—对多联系(1:n)。如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系.反之,对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。3)多对多联系(m:n)。如果对于实体集A中的每—个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系.则称实体集A与实体集B具有多对多联系,记为m:n。关系模型(1)关系模型的数据结构•属性•关系模式•关系•元组•候选键•域•分量(2)关系数据模型的操作(3)关系数据模型的存储结构(4)关系数据模型的优点(5)关系数据模型的缺点1.4数据库系统的模式结构1.4.1数据库系统模式的概念1.4.2数据库的三级模式三级模式是指数据库管理系统DBMS将数据库中的数据抽象成外模式、模式和内模式三个级别来进行组织和管理。•模式•外模式•内模式1.4.3数据库的二级映像功能与数据独立性•外模式/模式映像•模式/内模式映像1.5DBMS的功能•定义功能•操纵功能•控制功能•建立和维护功能1.6数据库系统的组成•硬件•软件•人员第2章关系数据库2.1关系模型的基本概念2.1.1关系模型概述关系模型的数据结构就是关系,二维表关系操作:一次一集合(set-at-a-time)的方式关系模型中常用的关系操作包括:选择(select)、投影(Project)、连接(join)、除(division)、并(union)、交(intersenion)、差(difference)等查询(query)操作和增加(insert)、删除(delete)、修改(update)等更新操作两大部分关系操作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。关系数据语言关系代数关系演算关系代数的运算可分为两类:1)传统的集合运算:并、交、差、笛卡儿积。2)专门的关系运算:投影、选择、连接、除法。2)关系演算。用谓词表示查询的要求和条件。关系演算又可按谓词变元的不同,分为元组关系演算和域关系演算。2.1.2关系数据结构定义2.1给定一组集合D1,D2,…,Dn,且这些集合可以是相同的。定义D1,D2,…,Dn,的笛卡尔积(Cartesianproduct)为D1×D2×…×Dn=|(d1,d2,…,dn)|di∈Di,i=1,2,…,n|定义2.2关系=笛卡尔积的子集域=关系的取值范围D1,D2,…,Dn度=关系的维2.1.2关系数据结构•关系的定义定义1给定一组集合D1,D2,…,Dn,且这些集合可以是相同的。定义D1,D2,…,Dn的笛卡尔积为D1×D2×…×Dn={(d1,d2,…,dn),di∈Di,i=1,2,…,n}定义2笛卡尔积为D1×D2×…×Dn的任意一个子集称为D1,D2,…,Dn的一个关系。集合是关系中元组的取值范围,称为关系的域(domain),n称为关系的度(degree)。•候选键与主键对于关系中的某一个属性或属性组,若它的值能惟一地标识出一个元组,则称这个属性或属性组为候选键(candidatekey)。•关系模式对一类实体特征的结构性描述。2.1.3完整性规则•实体完整性规则主键不能为空•参照完整性规则(1)父子关系:父可有可无子,子必有父(外键为主键的一部分)(2)加盟关系:人可有可无政党属性,但不能加入不存在的政党(外键不参与主键)•用户定义的完整性规则限制域的范围2.2关系代数•关系代数•关系演算•2.2.1传统的集合运算关系包括的传统集合运算主要涉及二目运算,此外,除笛卡儿积外.其他的运算要求参加运算的两个关系R和S必须是相容的。所谓相容,是指关系R和S满足以下两点:1)R和S具有相同的度。2)R中的第i个属性和S中的第i个属性定义在同一个域上(i=1,2,...,n)1)并运算。设关系R和s是相容的,则它们的并是一个新的关系,它由属于R或属于S的所有元组构成。记为R∪S2)差运算。设关系R和S是相容的、则R与S的差是一个新的关系,它由属于R但不属于S的元组构成。记为R—S3)交运算。设关系R和S是相容的,则它们的交是一个新的关系,它由属于R同时也属于S的元组构成.记为R∩S广义笛卡尔积2.2.2专门的关系运算1.选择运算2.投影运算3.连接运算4.自然连接)(|)(tFRttRF5.除法运算第3章关系数据库标准语言——SQL第3章关系数据库标准语言3.1SQL概述3.2SQL的数据定义SQL的数据定义功能包括定义表、定义视图和定义索引.如表3.2所示。1.定义基本表表3.3关系StudentsSnoSnameSsexSageSdeptS01王建平男21自动化S02刘华女19自动化S03范林军女18计算机S04李伟男19数学S05黄河男18数学S06长江男20数学表3.4关系CoursesCnoCnamePre_CnoCreditsC01英语4C02数据结构C052C03数据库C022C04DB_设计C033C05C++3C06网络原理C073C07操作系统C053表3.5关系ReportsSnoCnoGradeS01C0192S01C0384S02C0190S02C0294S02C0382S03C0172S03C0290S04C0375例3.1建立表3.3所示的学生表Students,每个属性名的意义为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。这里要求Sno和Sname不能为空值,且取值唯一。CREATETABLEStudents/*列级完整性约束条件*/(SnoCHAR(5)NOTNULL,/*Sno不能为空值*/SnameCHAR(20)NOTNULL,/*Sname不能为空值*/SsexCHAR(2),SageINT,SdeptCHAR(15),CONSTRAINTun_SnoUNIQUE(Sno),/*Sno取值唯一的约束*/CONSTRAINTun_SnameUNIQUE(Sname));/*Sname取值唯一的约束*/2修改基本表例3.2向基本表Students中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。ALTERTABLEStudentsADDSentrancedateDATETIME;例3.3将Sage(年龄)的数据类型改为SMALLINT型。ALTERTABLEStudentsALTERCOLUMNSageSMALLINT;例3.4删除Sname(姓名)必须取唯一值的约束。ALTERTABLEStudentsDROPCONSTRAINTun_Sname;注意:SQLServer2000增加了删除属性的命令。比如,删除属性列Sentrancedate的命令为:ALTERTABLEStudentsDROPCOLUMNSentrancedate;3删除基本表例3.5删除Students表。DROPTABLEStudents;说明:此表删除后,请立即用例3.1将其建立起来,以便后面的例子使用。4向表中添加元组例3.6将一个学生元组(S01,王建平,男,21,计算机)添加到基本表Students中。INSERTINTOStudentsVALUES('S01','王建平','男',21,'自动化');说明:⑴请读者用这个命令将其余5个学生的元组也添加到基本表Students中。⑵向Courses表插入元组(‘C01’,’英语’,’’,4)的命令为:INSERTINTOCoursesVALUES('C01','英语','',4);例3.7将学习成绩的元组(‘S01’,’C01’)添加到基本表Reports中。INSERTINTORepo
本文标题:工程数据库课件
链接地址:https://www.777doc.com/doc-8609685 .html