1、1第 1 章 数据库基础知识一、基本概念1.数据库数据库是将数据保存在计算机的外存储器中的相关信息的集合。数据库不仅用来存放数据,而且存放数据之间的关系。简称为 DB。学生和课程之间,多对多的联系。2.数据库管理系统简称为 DBMS,数据库管理系统是用来管理和维护数据库的一个软件系统,它是一个系统软件。3.数据库系统简称为 DBS,是一个应用了数据库技术的计算机系统,包括五部分,数据库,数据库管理系统,硬件系统、软件系统以及用户。数据库管理系统是工作在操作系统之上的系统软件。DBS 包括 DB 和 DBMS,DBMS 管理 DB,DBMS 是 DBS 的核心。二、数据库系统的内部体系结构三级模
2、式和二级映射1.三级模式数据库系统分为三级模式,分别是内模式,模式和外模式。内模式:用来描述数据库内部的存储结构,是数据库的物理存储结构。一个数据库系统只有一个内模式。模式:用来描述数据库全局逻辑结构的,一个数据库只有一个模式。外模式:用来描述数据库局部逻辑结构的,一个数据库有多个外模式。2.二级映射二级映射保证了数据库系统的数据独立性,数据独立性分为物理独立性和逻辑独立性。内模式/模式映射:保证了数据的物理独立性。模式/外模式映射:保证了数据的逻辑独立性。三、数据库系统的特点1.数据具有较高的独立性2.实现了数据共享3.减少了数据冗余,重复数据减少。绝对不允许说消除了一切冗余。4.数据采用了
3、一定的组织结构来描述,如层次模型,网状模型和关系模型。四、数据库管理系统的功能1.数据的定义功能(DDL)定义数据库的内模式和模式。2.数据的操作功能包括对数据库的数据进行添加、修改和删除等。3.数据的控制功能4.数据的维护和管理五、数据模型1.三个世界分别是现实世界、信息世界和计算机世界现实世界的各种事物抽象为信息世界,信息世界的中数据进行数字化保存在计算机世界中。一本书在人的大脑中的反映就是信息世界,书的信息保存在计算机中,计算机世界。2.信息世界的相关术语1)实体2是指现实世界中的各种事物都称为实体。实体可以是具体的,也可以是抽象的。如一个学生,一本书,一部电话。实体是指个体。2)属性属
4、性是用来描述实体的特征的,如学生的属性:学号,姓名,性别,出生日期等。书的属性:书号,书名,作者,数量,单价等。3)实体集和实体型实体集:同类实体的集合,如学生实体型:实体的所有属性的集合,它是静态的。通常描述为:学生(学号,姓名,性别,出生日期 )4)域属性的取值范围叫属性的域。如学生表中的学号,只能使用数值。性别只能取男或女。5)键键相当于主索引,能唯一确定一个实体的属性或属性集合。如:学生的键就是学号,班级的键就是班号,课程的键就是课程号,但成绩表的键是学号+课程号。3.实体与实体之间的联系实体与实体之间的联系分为三种:一对一,一对多和多对多。给定实体一定要知道实体之间的联系类型。省和省
5、份:一对一班级和学生:一对多学生和课程:多对多一对一:表示 A 表中的一条记录对应于 B 表中的一条记录,反之,B 表中的一个对应于 A 表中一个。省会和省:一对一班级和班长:一对一一对多的联系:表示 A 表中的一条记录对应于 B 表中的多条记录,反之,B 表中的一个记录对应于 A 表中的一个记录。班级和学生 :部门和职工:多对多的联系:表示 A 表中的一条记录对应于 B 表中的多条记录,B 表中的一个记录对应于 A 表中的多个记录。学生和课程:多对多学生和宿舍:一对多医生和病人:一对多国家和首都:一对一4.数据模型数据模型用来描述数据和数据之间的一种结构。数据模型共分为三种:层次模型、网状模
6、型和关系模型1)层次模型层次模型是采用树型结构描述实体与实体之间的联系。层次模型的特点:有且只有一个结点没有父结点,称为根结点。其他结点有且只有一个父结点。2)网状模型网状模型是采用网状结构描述实体与实体之间的联系。网状模型的特点:可以多于一个结点没有父结点,其他结点可以有多于一个的父结点。3R1R2 R4R3R5 R7R63)关系模型关系模型是采用二维表结构描述实体与实体之间的联系。就是一张二维表,二维表是由若干行与若干列构成的。学号 姓名 性别 出生日期 电话 邮政编码 班级号20070001 于雯婷 女 1987-1-15 024-87254630 110000 200701200700
7、02 孔祥军 男 1988-2-3 0411-7689123 116000 20070120070003 王明 男 1986-9-12 0415-2358796 118000 20070120070125 王莹 女 1987-5-23 0411-74236854 116000 20070220080028 孙浩然 女 1988-8-29 0412-42360009 190001 20080120080029 邢殿彬 男 1988-11-5 0417-76852004 115000 200801 六、关系数据库关系数据库就是采用二维表来描述的数据库就是关系数据库。1.关系关系就是一张二维表,是由
8、若干行与若干列构成的,在 access 中称为表。它是数据库的对象之一。2.元组元组是指二维表中的一行,它描述的是一个实体,在 access 称为记录。3.属性属性是指二维表中的一列,在 access 中称为字段。4.域属性的取值范围。5.关系的描述关系名(属性集合)如学生:学生 (学号,姓名,性别 ,出生日期)七、关系的性质1.关系中的每一列都是不可分割的数据单元。2.关系中的每列都具有相同的数据类型。3.关系中不允许出现完全相同的行4.关系中行的顺序无关紧要5.关系中列的顺序无关紧要第 2 章 关系代数关系运算的对象和结果都是一个关系。关系代数分为两类:传统的集合运算和专门的关系运算。一、
9、传统集合运算传统集合运算分为并、交、差和广义笛卡尔积1.并运算4并运算是双目运算符,要求 2 个关系。关系的结构必须是相同的。并运算的结果是两个关系的元组合并,并去掉重复元组。R A B C1 1 12 2 2SA B C1 1 13 3 3并运算记作:RUSRUSA B C1 1 12 2 23 3 32.交运算交运算是双目运算符要求 2 个关系,结构必须是相同的。交运算的结果是两个关系中的公共元组构成的一个新的关系。RSA B C1 1 13.差运算差运算是双目运算符,差运算的结果是两个关系中从 R 关系去掉 S 中也有的元组构成的一个新的关系。R-SA B C2 2 2二、专门的关系运算
10、专门的关系运算分为选择、投影和连接1.选择它是一个单目运算符,表示从一个关系中查询满足条件的元组构成的一个新的关系。在学生表中查找性别为男的元组。是从行的角度出发进行的运算。2.投影它是一个单目运算符,表示在一个关系中选择某几列构成的一个新的关系。在学生表中查询学生 的学号,姓名和性别。投影是从列的角度出现进行的运算。3.连接连接是双目运算符,是把两个关系通过一定的条件连接为一个更宽的关系。班级和学生就可以通过班号连接为一个更大的表。第 3 章 access 概况Access 是一种关系型的数据库管理系统,是 Office 套件的产品之一。Access 是用来管理各种数据库对象的。这些对象包括
11、表、查询、表单、报表、数据访问页、宏和模块。一、表对象表是一个关系,用来存储数据的对象,是数据库系统的基础,access 允许一个数据库包括多个数据表,用来存放不同的数据。而且表与表之间可以建立联系。5二、查询对象表建立后,只有使用才能体系其功能,查询是用来操作数据库的记录对象的,利用它可以按照一定的条件或规则从一个表或多个表以及查询中将所需要的记录和字段构成一个动态的数据集合。三、窗体对象可以使用窗体对象来显示数据表中的数据,可以将表链接到窗体上,可以使用窗体来输入数据。窗体中的数据源可以是表或查询。四、报表对象通过 access 的报表对象可以将一个表或查询,也可以是多个表或查询的数据根据
12、需要进行分析、整理、计算,以一定的格式化的方式发送到打印机。五、数据访问对象根据 access 数据,生成一个 web 页。六、宏对象宏实际上是一系列操作的集合,每一个操作都实现一定的功能。如打开窗体生成报表,保存修改。七、模块对象模块就是一个过程或者是一个函数。实现一定的Pvivate sub 名称End第 4 章 数据库的基本操作重点建立数据库,数据库是一个容器,用来管理各种对象的。里面包括着表对象、查询对象、窗体对象、报表对象、宏对象、数据访问页对象和模块对象。一、创建数据库一种方法:使用数据库向导建立数据库。向导根据界面的提示一步一步的完成操作。利用数据库向导可以根据系统中的模板生成数
13、据库。第二种方法:自行建立数据库单击文件菜单下的“新建” ,再单击“空数据库“。二、打开数据库1.打开最近使用过的文件Access 中默认保留 4 个最近使用的文件,在文件菜单下的选择。2.使用文件菜单下的“打开” 。3.在磁盘上找到该要打开的文件,双击即可。三、关闭数据库文件菜单下的“关闭” 。第 5 章 表的操作表:就是一个关系,是由若干行与若干列构成的,行称为记录,元组,列叫属性也叫字段。它是用来存储数据的对象。表是用户定义的数据对象,表是数据库的基础,一个数据库可以有一个或多个数据表。对表操作其实就是建立表的结构,就是表头,然后对表的数据进行添加、修改、删除等各种操作。一、表视图表有两
14、种视图:数据表视图和设计视图数据表视图就是用来浏览数据的,也可以进行修改、添加、删除数据。数据表视图其实就是一张二维表。6在数据库中,双击要打开的表即可。二、设计视图设计视图是用来修改表的结构作字段的定义,对表的结构进行操作。在数据库中,右击,要修改的数据表名称,单击“设计视图” 。三、在数据视图和设计视图之间切换单击“工具栏“中的”视图切换。四、表的创建表的创建包括两部分,一部分是建立表的结构,另一部分是向表中添加记录。创建表有三种方法:直接输入数据创建数据表,得用向导创建表,设计视图1直接输入数据创建表方法:表页签下,单击“直接输入数据创建表”或者“新建”对话框中选择“数据视图” 。直接输
15、入数据在各行,双击列名,改字段。任何一个表都要设计一个主关键字,钥匙,在设计过程中,可以设也可以后面再设。主关键字:是指一个表中的某一个字段或几个字段的组合。2.利用向导创建表新建对话框中的“表向导” ,使用向导创建表,根据提示进行创建。3.利用设计视图创建数据表使用设计视图,用户可以改变和定义所有数据表的对象。1)方法新建对话框中的“设计视图” 。2)设计的内容字段名称:字段名,只允许是字母或汉字开头,不允许出现空格字段类型:文本、数字、日期时间、是/否、自动编号、OLE 对象、货币、备注、超级链接文本最长为 255 个字节数字可以为 1,2,4,8,字节是 1,整型是 2,长整型 4,双精
16、度的是 8。备注:适合于输入大量文本的,货币长度为 8 个字节,4 位小数。日期/时间:8 个字节是/否:1 个字节自动编号:4 个字节OLE 对象用来存放图片和声音。一般情况下每一个字段都有长度,但只有文本和数字允许设计长度,其他的不允许设置。3.字段的属性字段的大小:也就是字段的长度,默认为 50 只有文本和数字才能设置。格式:显示和打印的格式。小数位数:数字,默认为自动。掩码:定义输入数据时必须要遵守的格式,掩码只能是文本和日期/时间型才可以设置。标题:指定一个与字段名不同的文本,用于在报表或窗体中显示。默认值:定义新记录时自动出现在字段中值。有效性规则:输入记录时要检验字段的值是否符合
17、规则。有效性文本:当违反规则时,给用户提示的信息。必填字段:是/否。索引:字义该字段为索引字段。主关键字它也是一个索引字段。定义关键字:能唯一确定表中的一条记录的字段或字段组合。关键字可以有三种:一种自动编号、单字段和多字段多字段必须选择,然后再按钮(钥匙) 。7定义字段索引:如果设置主关键字,也建立一个索引。索引如果是多个字段的顺序:先按第一个字段索引,第一个字段相同了,再按第二字段进行索引。4.对表的操作改变行高、改变列宽度。格式菜单下的字体、行高,列宽度等。冻结列:格式菜单下的冻结列,也可以取消隐藏列:格式菜单下的隐藏列,也可以取消。5.编辑记录建立表之间的关系。工具菜单下的“关系” ,
18、添加表再拖动即可。格式菜单下的“数据表” 。第 6 章 查询查询可以作为结果,也可以作来数据源,查询就是根据条件从数据表中检索数据并将其结果存储起来。查询可以用来创建表、查询、窗体或报表。在 access 中,查询分为选择查询、参数查询、交叉查询和操作查询。1.选择查询是最常用的一种查询,是从一个表或多人表中查询数据结果是一组数据记录。称为动态集。2.参数查询如果经常运行某个查询但查询的准则不同,参数查询表示在招待过程中能够显示对话框提示用户输入查询的准则。3.交叉查询显示来源于表中的某个字段的总计值,其实就是一种分组查询。如合计、计算以及平均值等,一组在在左侧,另一组列在右侧。4.操作查询主
19、要功能就是对大量的数据进行更新。一、查询视图查询视图分为三种:数据表视图、设计视图和 sql 视图。1. 数据表视图其实就是一张二维表,建立查询后,双击即可显示查询的数据,这就是数据表视图。2.设计视图它是一个设计查询的窗口,用于创建查询。2. sql 视图sql 是结构化的查询语言,是一个用于显示当前查询的 sql 语句。二、创建视图1.利用简单查询向导创建选择查询2.利用交叉表查询向导创建交叉查询分两组,一组显示在左边,一组显示在上部。3利用设计视图创建查询查询性别为男的学生的学号,姓名,课程名和成绩。学号和姓名在学生表课程名在课程表成绩在成绩表。查询课程号为 0001 的学生的学号,姓名
20、和成绩。4.创建参数查询查询某个学生的学号,姓名和性别和成绩。三、查询的修改81.添加字段在查询课程号为 0001 的学生的学号,姓名和成绩。中添加一个课程名字段。2.删除字段3.改变字段的顺序查询中字段的顺序就是表中字段的顺序4.修改字段的属性5.修改查询准则建立一个查询,查询姓张的学生的学号,姓名,课程名和成绩建立一个查询,查询姓名中含有“二”的学生的学号,姓名和课程名以及成绩。建立一个查询,查询“张一”和“李二”的学生的学号,姓名和性别。Between a and b:在 a 和 b 之间的,适合于数值型。Like “*或?”:适合于匹配的。In (值 1,值 2,值 3)表示是字段等于
21、 1 或者等于 2,3。建立一个查询,查询课程号为 0001 的成绩在 80 分以上的学生的学号,姓名,性别和成绩。6.添加计算字段查询学生的学号,姓名和年龄。生成器中输入表达式,利用到了函数,year(),date() 。7.添加合计字段分组操作。查询每个学生的学号和总分。8.生成查询将查询的结果生成一个新表。在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序:Public x As Integer x是全局变量Private Sub Command1_Click()x=10Call s1Call s2MsgBox x 30End SubPrivate Sub s1()x=x
22、+20 30End SubPrivate Sub s2()Dim x As Integer 是一个局部变量,只在当前模块有效。x=x+20 50End Sub窗体打开运行后,单击命令按钮,则消息框的输出结果为_。Variant:Dim x as integer9Dim x as stringDim x as variantDim x(2 to 4,5) as integerVB 的语法VB 是一种程序设计语言,可以使用它完成一定的功能。一、VB 的常量和变量1.常量常量是指在程序执行过程中,其值不变的量。如 10, ”abc”,true ,false。2.变量变量是指在程序运行过程中,其值不断
23、变化的量。变量使用前一定要定义。声明变量的类型。这样的话,变量的存储值必须是该类型的。1)变量的声明Dim 变量名 as 变量的类型Dim x as integerDim x,y as integerX 是 variant 型,y 是 integer2)变量的赋值变量名=表达式Dim x as integerX=10Dim x as string X=”张三”二、数据类型1.整型整型数据只能存放整数,不能有小数点。分为三种:smallint,int,bigint。无符号整型。Uint2.浮点型Float 和 double单精度和双精度。带小数点3.布尔型逻辑型,只有两个值,true 和 fal
24、se,true 表示为 1,false 表示为 0。4.字符串凡是用双引号和单引号括起来的都是字符串。String5字符字符只表示一个符号。Char6.日期和时间型Datetime。三、表达式表达式是由常量、变量、函数和运算符所组成的有意义的式子。如:2*5+10每个表达式都有一个具体的值。数值表达式,字符表达式,日期和时间的表达式,关系表达式和逻辑表达式。101.数值表达式+,-,*,/,%(取余)2.字符表达式&3.日期和时间表达式+和-4.关系表达式=,!=,=, then语句块 1Else语句块 2Endif当程序执行时,先判断条件,如果为 true,则执行语句块 1,否则执行语句块
25、2。2)if 语句嵌套If then语句块 1ElseIf then语句块 2Else语句块 3End ifEnd if3)多条件分支Select case 表达式11Case 表达式语句块Case 表达式语句块End select3.循环结构1)FOR 循环For 循环变量= 初值 to 终值 step 步长循环体Exit for Next 循环变量例求 1-100 的累加和5050Dim I as integerDim sum as integerSum=0For i=1 to 100 step 1Sum=sum+iNextPrint sum2.do loop 循环Do while 循环体Loop先判断条件是否为 true,如果为 true,则进入循环体,遇到 loop 再返回到开头,再判断条件,以此类推。例求 1-100 的累加和。Dim I as integerI=1Dim sum as integerSum=0Do while i=100Sum=sum+I 累加和I=i+1 /增值语句LoopPrint sumMsgbox:显示一个对话框输出后面的值。Mgbox xCall x:调用 x 过程。