Access数据库及其应用
真诚为您提供优质参考资料,若有不当之处,请指正。本课程主要讲述:数据库基本理论 Access 数据库操作 SQL 数据库查询语句 * VBA语言及模块设计第一章 数据库基础知识讲述内容:1、数据管理发展史2、数据库基本概念 * 3、数据库四级结构模型4、概念模型:E-R模型 *5、逻辑模型:关系模式 *6、关系运算 *7、数据规范化:1NF,2NF,3NF *一、数据管理发展史1、人工管理阶段计算机发展初期,主要用于科学计算,数据不独立,完全依赖于程序,不能共享。2、文件管理阶段 数据以文件形式管理,数据无结构化,共享性差。3、数据库管理阶段 数据结构化(数据库形式),出现多种数据库管理系统,共享性好。二、数据库基本概念1、数据库(DB):计算机处理,结构化,数据集合。2、数据库管理系统(DBMS):数据库管理系统软件,提供数据库操作平台。对数据库可以建立,添加记录,修改记录,删除、查询、排序、连接等。常见系统VFP、ACCESS、SQL SERVER等。3、数据库应用系统(DBAS):利用数据库开发管理应用软件。4、数据库系统(DBS):和数据库有关的所有系统总和,包括计算中硬件系统、软件系统、数据库、管理者、操作者、用户。5、信息三个世界划分: 客观世界 信息世 计算机世界 研究实体对象,特性 à 结构化,形成不同的 à 计算机存储结构 实体之间联系。 数据模型,关系型、 面向计算机 E-R模型 网状、层次型。面向对象 (概念模型) (逻辑模型) (物理模型)常用概念:实体、实体集、属性、标识符-数据库、表、字段、记录、关键字。6. 联系Ø在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,两个实体型之间的联系有如下三种类型:(1)一对一联系(1:1)Ø实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。v如:班级与班长,观众与座位,病人与床位。(2)一对多联系(1:n)Ø实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。v如:班级与学生、公司与职员、省与市。(3)多对多(m:n)Ø实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。v如:教师与学生,学生与课程,工厂与产品。Ø实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。Ø可以用图形来表示两个实体型之间的这三类联系,如图书 1.7所示。A B A B A B (a) (b) (c)不同实体集实体之间的联系三、数据库模型及DBMS功能1、现实世界数据-抽象-计算机管理数据概念模型:用户需求观点,ER图逻辑模型:开发者角度,计算机实现观点,逻辑结构(层次、网状、关系)外部模型:用户使用观点,根据需求形成模型。内部模型:计算机物理结构2、数据库管理系统主要功能。(P14 解释)3、关系模型中常用术语: 关系模型,元组,属性,域,候选键,主键,外键,完整性规则,参照完整性。四、概念模型:E-R模型“实体-联系方法”的简称E-R模型。E-R图基本成分包含实体型、属性和联系。 实体型:用矩形框表示,框内标注实体名称。属性:用椭圆形框表示,框内标注属性名称。联系:指实体之间的联系,有一对一(1:1),一对多(1:n)或多对多(m :n)三种联系类型。 (a)两个实体之间的联系学生选修成绩课程系主任领导系学生属于系11n1系主任n(c)实体集内部的联系m职工领导1n供应商供应数量零件项目mnn(b)多个实体之间的联系例如:学生,宿舍,班级,教室,班主任,档案材料 课程名学生学号姓名性别年龄系别课程课程号学分n选修成绩m这样,得到学籍管理局部应用的分E-R图 五、逻辑模型:关系模式1、关系模式表示:关系名称(属性1,属性2,。) 下划线代表主键如:学生(学号,姓名,性别,政治面貌)2、E-R模型转化关系模式E-R模型中,1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如班级-管理教师联系为1:1,我们可以将其转换为一个独立的关系模式:班级(班级号,学生人数) 教师(职工号,姓名,性别,职称,是否优秀班主任) 管理(职工号,班级号)或 管理(职工号,班级号) 管理”联系也可以与班级或教师关系模式合并。班级(班级号,学生人数,职工号) 教师(职工号,姓名,性别,职称,是否优秀班主任)或班级(班级号,学生人数) 教师(职工号,姓名,性别,职称,班级号,是否为优秀班主任)E-R模型中,1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。例如:“学生-组成-班级”的联系为1:n联系。 学生(学号,姓名,出生日期)班级(班级号,学生人数,班主任) 组成(学号,班级号)另一种方法是将其学生关系模式(n端实体)合并,学生关系模式为: 学生(学号,姓名,出生日期,班级号)班级(班级号,学生人数,班主任) E-R模型中,联系是一个m:n联系,将联系独立出来。如“学生选课课程”关系 学生(学号,姓名,性别,年龄,所在系) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩)如:P22-25旅客-乘机座位关系 1:1旅客-航班关系 1:n顾客-每种商品关系 m:n教师(教师号,姓名)学生(学号,姓名,性别)课程(课程号,课程名,学时,教师号)选课表(学号,课程号,成绩)六、关系运算一、关系运算 并、交、笛卡尔积;投影、选择、连接(并),-(差),(交),X(笛卡尔积),(选择),(投影),(连接);>(大于) (大于等于) <(小于) (小于等于)=(等于) (不等);逻辑运算符:(与),(或),(非)1、并运算:关系R和关系S的并,是R和S的所有元组合并,删去重复元组,组成一个新关系如:R=(李力,男),(王红,女) S=(王红,女),(刘伟,男) RS=(李力,男),(王红,女),(刘伟,男)* 对于关系数据库,记录的插入和添加可通过并运算实现。2. 差关系R与关系S的差,由属于R而不属于S的所有元组组成,即R中删去与S中相同的元组,组成一个新关系。如:R=(李力,男),(王红,女) S=(王红,女),(刘伟,男) R-S=(李力,男)* 通过差运算,可实现关系数据库记录的删除。3. 交关系R与关系S的交,由既属于R又属于S的元组组成,即R与S中相同的元组,组成一个新关系。如:R=(李力,男),(王红,女) S=(王红,女),(刘伟,男) RS=(王红,女)如果两个关系没有相同的元组,那么它们的交为空。4、笛卡尔积(集合中元素的组合),如D1,D2,Dn,它们笛卡尔积为D1×D2××Dn=(d1,d2,dn)。|diDi,i=1,2,n。笛卡尔积也是一个集合。例如:D1=A,B,C D2=1,2,3D1,D2两个域的笛卡尔积为D1XD2=(A,1),(A,2),(A,3),(B,1),(B,2),(B,3),(C,1),(C,2),(C,3)笛卡尔积的基数M=m1Xm2=3X3=9 例如:D1(李力,王平,刘伟),D2(男、女) 两个关系的笛卡尔积为:D1×D2=(李力,男),(李力,女),(王平,男),(王平,女),(刘伟,男),(刘伟,女)基数M=m1×m2=3*2=6,元组的个数为6笛卡尔积可用二维表的形式表示。姓名性别李力男李力女王平男王平女刘伟男刘伟女 例如: R S ABCABCA1B1C1A1B1C1A1B1C2A2B2C1A2B2C1A2B3C2 RUS R-S ABCABCA1B1C1A1B1C2A1B1C2A2B3C2A2B2C1 RnS ABCA1B1C1A2B2C1RXSABCABCA1B1C1A1B1C1A1B1C1A2B2C1A1B1C1A2B3C2A1B1C2A1B1C1A1B1C2A2B2C1A1B1C2A2B3C2A2B2C1A1B1C1A2B2C1A2B2C1A2B2C1A2B3C25.选取:选取运算是单目运算,是根据一定的条件在给定的关系R中选取若干个元组,组成一个新关系,记作:F(R)=t|tRF(t)为真Ø 为选取运算符;F为选取的条件,它由运算对象(属性名、常数、简单函数)、算术比较运算符( > ,<,=,)和逻辑运算符( )连接起来的逻辑表达式,结果为逻辑值“真”或“假”。R 是从关系R中选取使逻辑表达式为真的元组,进行行运算。类似For <条件>例:在S关系中,查询计算机系的全体学生,形成新的关系。DEPT=计算机(S) 或 5=计算机(S)例:在T关系中,查询工资高于1000元的男教师。形成新的关系。(工资>1000) (性别=男) (T) 例:在S关系中,查询姓张和姓王的工程师。形成新的关系。((姓名=张)V(姓名=王) (性别=男) (S) 6. 投影Ø 投影运算也是单目运算,关系R上的投影是从R中选择出若干属性列,组成新的关系,即对关系在垂直方向进行的运算,从左到右按照指定的若干属性及顺序取出相应列,删去重复元组。记作:A(R)=tA|t