数据库基础及Access应用第一章数据库基本原理1.1数据管理的基本概念1.1.1信息与数据信息=数据+数据处理数据处理是对各种数据进行加工、处理(包括收集、存储、分类、计算、检索、传输等)的过程。1.1.2数据库数据库(Database,DB)是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库应用系统数据库管理系统操作系统硬件用户数据库管理人员数据库系统的层次结构关系数据库文件数据库管理系统数据库应用系统1.1.3数据库系统数据库系统是一个具有管理数据库功能的计算机系统,它除了包括计算机硬件系统和操作系统之外,还包括数据库、数据库管理系统、数据库应用系统,此外,还包括数据库管理人员及用户。1.1.4数据库管理系统数据库管理系统(DatabaseManagementSystem,DBMS)提供以下几大功能:数据库的定义数据操纵数据运行控制数据字典数据库的传统定义是以一定的组织方式存储的一组相关数据项的集合,主要表现为数据表的集合。但是,随着数据库技术的发展,现代数据库已不再仅仅是数据的集合,而且还应包括针对数据进行各种基本操作的对象的集合。Access由于其特有的全环绕数据库文件结构,使其与传统的数据库概念有所不同。它采用数据库方式是,在一个单个的*.MDB文件中包含应用系统中所有的数据对象(包括数据表对象和查询对象),及其所有的数据操作对象(包括窗体对象、报表对象、宏对象和VBA模块对象)。因此,采用Access开发的数据库应用系统会被完整地包含在一个单个的*.MDB磁盘文件中。正是Access的这种“包罗万象”的*.MDB文件结构,使得其数据库应用系统的创建和发布变得异常简单,因而成为一种深受数据库应用系统开发者喜爱的关系数据库管理系统。图1-2所示为Access数据库结构示意。图1-2Access数据库结构示意数据表对象:字段1字段2………..Access数据库(*.MBD)查询对象:字段1字段2………..报表对象:字段1字段2………..窗体对象数据页对象模块对象宏对象1.2数据管理及其发展1.人工管理阶段2.文件系统阶段3.数据库系统阶段4.分布式数据库系统阶段数据的人工管理。。。应用程序A1应用程序A2应用程序An。。。数据集S1数据集S2数据集Sn数据的文件系统。。。应用程序A1应用程序A2应用程序An。。。数据集S1数据集S2数据集Sn文件系统数据的数据库系统数据库管理系统。。。应用程序A1应用程序A2应用程序An数据库分布式数据库系统分布式数据管理系统计算机2DBMS2DB2计算机1DBMS1DB1计算机3DBMS3DB31.3E-R图(Entity-Relationship)实体:客观存在且相互区别的事物称为实体属性:描述实体的特性称为属性.关键字:如果某个属性或几个属性组合的值.能够唯一地标识出实体集中的每一个实体,就可以选作关键字.联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联.E-R图包括三个要素:实体:用矩形框表示,框内标明实体名称。属性:用椭圆形表示,并用连线与实体连接起来。实体之间的联系:用菱形框表示,框内标明联系名称,并用连线将菱形框分别与有关实体相连,且在连线上标明联系类型实体与实体间的联系可归结为三种类型:1.一对一联系2.一对多联系3.多对多联系货品规格货号货名单价实体与属性nn一个单位库存概念模型的E—R图供应商电话供货人账号地址供应商n仓库电话号码面积仓库号货品货号货名规格单价描述库存库存n11.4数据模型1.4.1层次模型1.4.2网状模型1.4.3关系模型关系、元组、属性、域、数据表、数据库、关键字、关系模式R1R2R3R4R5层次模型L4L2R1R2R3R5R4L1L3L5网状模型1.5关系运算1.5.1SQL语言基础1.5.2常用的SQL语句1.SELECT语句2.CREATE、DROP、ALTER语句3.INSERT、UPDATE、DELETE语句1.select语句SELECTfirstname,lastnameFROMemployee2.create语句CREATETABLEBILLS(NAMECHAR(30),AMOUNTNUMBER,ACCOUNT_IDNUMBER)CREATETABLEEMLOYEE(FIRSTNAMECHAR(15),LASTNAMECHAR(15)NOTNULL,emloyee_idchar(15),ageint)3.INSERT语句插入数据INSERTINTOBILLSVALUES(JOE'SCOMPUTERSERVICE,25,1)insertintobillsvalues(,25000,1)4.删除表DROPTABLEBILLSDROPTABLEemloyee5.UPDATE语句updateemloyeesetage='27'wherefirstname=‘Liu’updatebillssetname='liu'whereamount=100DELETE语句deletefrombills删除所有记录(行)1.5.3传统的集合运算1)传统的集合运算:并、差、交和广义笛卡尔积等。2)专门的关系运算:选择、投影、连接等。选择运算是指从指定的关系中选择某些满足条件的元组构成一个新的关系。投影运算是指从指定的关系中选择某些属性的所有值组成新的关系。连接运算是选取若干个指定关系中的字段满足给定条件的元组从左至右连接,从而构成一个新关系的运算。1.5.7外键如果一个关系中的属性或属性组并非该关系的关键字,而是另外一个关系的关键字,则称其为该关系的外关键字(外键)。有了外关键字才能实现关系之间的连接,以便更好地实现多方位的查询。NO货号货名规格计量单位采购单价采购数量采购日期供货商名称采购人11001CPUIntelP42.4片1,330.007.002003-2-25华强电子公司刘伟21002CPUIntelp43.0片1,950.002.002003-3-6赛格电子公司刘伟31003CPUC42.0G片650.004.002003-3-20华强电子公司刘伟41006CPU奔腾P4845G片700.009.002003-3-26赛格电子公司刘伟52101主板华硕P4B533个890.005.002003-4-14桑达电子公司兰利62102主板华硕P4B266个730.002.002003-4-16华强电子公司兰利71001CPUIntelP42.4片1,330.002.002003-4-23赛格电子公司兰利82204主板华硕Intel845E个930.0012.002003-4-27桑达电子公司兰利93101软驱三星1.44M个70.008.002003-4-27京华电子公司兰利102101主板华硕P4B533个890.005.002003-5-14桑达电子公司罗兰供货商名称供货人华强电子公司吴国立京华电子公司刘为冬兰光电子公司陈一红赛格电子公司赵天晨桑达电子公司李三利1.6关系规范化基础1.6.1规范化问题1、数据冗余2、更新异常3、插入异常4、删除异常员工(员工号,售货人,性别,住址)货品(货号,货名,规格,计量单位,供应商)供货商(供应商,供货人)销售(员工号,货号,销售单价,销售数量)员工号售货人性别住址货号货名规格计量单位供应商供货人销售单价销售数量011王文彬男东门路4号1001CPUIntelP42.4片京华电子公司刘为冬1,500.002.00012王泽万男西门路3031001CPUIntelP42.4片京华电子公司刘为冬1,500.001.00013张梦露女中山路2号1003CPUC42.0G片赛格电子公司赵天晨690.002.00013张梦露女中山路2号1006CPU奔腾P4845G片桑达电子公司李三利760.004.00015羊向天男西大街7号2101主板华硕P4B533个京华电子公司刘为冬970.003.001.6.2属性的联系1、一对一联系2、一对多联系3、多对多联系1.6.3函数依赖1、函数依赖的概念函数依赖的定义:若对于一个关系模式中所有具体关系的属性之间部满足如下约束:对于X的任一个具体值,Y有唯一个具体值与之对应,则称Y函数依赖于X,或X函数决定Y,记作X→Y,X称作决定因素。平凡函数依赖和非平凡函数依赖设X,Y均为某关系上的属性集,且X→Y1)若Y包含于X,则称X→Y为:平凡函数依赖;2)若Y不包含于X,则称X→Y为:非平凡函数依赖X→Y为平凡函数依赖X→W,W→Y为非平凡函数依赖2、完全函数依赖完全函数依赖是指依赖于组合属性的全部,而不是它的一部分。完全函数依赖的定义:设X→Y是关系模式R的一个函数依赖,如果存在X的真子集X’,使得X’→Y成立,则称Y部分依赖于X,记作X→PY;否则,称Y完全依赖于X,记作X→FY。(SNO,CNO)→GRADE(完全函数依赖)(学号,课程号)→成绩(SNO,CNO)→CREDIT(部分函数依赖)(学号,课程号)→学分学号课程号成绩学分001A01903002A01673002A02784003A02674003B018923、传递依赖传递依赖的定义:在同一关系模式中,如果存在非平凡函数依赖X→Y,Y→Z,而Y!→X,则称Z传递依赖于X。员工号姓名所在部门编号部门名称部门地址005陈武XZB行政部1号楼303013张梦露XSB销售部2号楼403014易扬XSB销售部2号楼403021兰利GYB供应部3号楼505022刘伟GYB供应部3号楼5051.6.4关键字1、候选关键字在关系模式R(U)中,K是U中的属性或属性组。如果K完全函数决定整个元组,即K→FU,则称K为关系R(U)的一个候选关键字。从定义可看出,候选关键字具有两条性质:a.标识的唯一性:对于R(U)中的每一个元组,候选关键字K的值确定后,整个元组就相应确定了;b.无冗余性:当K是属性组时,K中的任何一部分都不能唯一标识该元组。少一个属性就不能唯一确定整个元组了,多一个属性就有冗余了。这正是定义中的完全函数依赖的意义。R(U)中若有一个以上的候选关键字,则选定其中一个作为主关键字。如果K不是单一属性,而是组合属性,可称为组合关键字,或合成关键字。此外,把包含在任一候选关键字中的属性称为主属性;不包含在任何候选关键字中的属性称为非主属性。2、外键在关系模式,R(U)中,若属性或属性组X不是关系R的关键字,但X是其他关系模式的关键字,则称X为关系R(U)的外关键字。外关键字是表示关系之间联系的“桥梁”,如果没有外关键字作为”桥梁”,则有的关系可能成为孤立的关系。S(SNO,SNAME,SEX,ADDRESS)各属性分别表示学号、姓名、性别、地址:SNOSNAMESEXADDRESS001江锦熙男1号宿舍302002陈章女2号宿舍301003章斯诺女2号宿舍301004武思盖男1号宿舍504005陈武男1号宿舍202C(CNO,CNAME,CREDIT)各属性分别表示课程号、课程名、学分:CNOCNAMECREDITA01数据库3A02计算机基础4B01外语2C01基础会计4SC(SNO,CNO,GRADE)各属性分别表示学号、课程号、成绩。SNOCNOGRADE001A0190002A0167002A0278003A0267003B01891.7关系的范式—个关系模式满足某—指定的约束,称此关系模式为特定范式的关系模式。满足不同程度的要求构成不同的范式级别。关系模式有下列几种范式:第—范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF、第四范式(4NF)和第五范式(5NF)。1.7.1第一范式在关系模式R的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位