第一章 数据库原理Word文档下载推荐.docx
《第一章 数据库原理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第一章 数据库原理Word文档下载推荐.docx(63页珍藏版)》请在冰豆网上搜索。
练习
P101,2
我们举个例子来说明这个问题:
每个人都有很多亲戚和朋友,为了保持与他们的联系,我们常常用一个笔记本将他们的姓名,地址,电话等信息都记录下来,这样要查谁的电话或地址就很方便了.这个"
通讯录"
就是一个最简单的"
数据库"
每个人的姓名,地址,电话等信息就是这个数据库中的"
数据"
.我们可以在笔记本这个"
中添加新朋友的个人信息,也可以由于某个朋友的电话变动而修改他的电话号码这个"
.不过说到底,我们使用笔记本这个"
还是为了能随时查到某位亲戚或朋友的地址,邮编或电话号码这些"
.
实际上"
就是为了实现一定的目的按某种规则组织起来的"
的"
集合"
在我们的生活中这样的数据库可是随处可见的啊.
小结:
数据库是什么
图书管理员在查找一本书时,首先要通过目录检索找到那本书的分类号和书号,然后在书库找到那一类书的书架,并在那个书架上按照书号的大小次序查找,这样很快就能找到我所需要的书.
数据库里的数据像图书馆里的图书一样,也要让人能够很方便地找到才行.
如果所有的书都不按规则,胡乱堆在各个书架上,那么借书的人根本就没有办法找到他们想要的书.同样的道理,如果把很多数据胡乱地堆放在一起,让人无法查找,这种数据集合也不能称为"
数据库的管理系统就是从图书馆的管理方法改进而来的.人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为"
数据库管理系统"
它们可以帮我们管理输入到计算机中的大量数据,就像图书馆的管理员.
我们将要学习的Access也是一种数据库管理系统.
第三章创建Access数据库
3.1设计数据库
3.2创建数据库的方法
3.3习题
3.1关系数据库设计方法
关系数据库中,数据表是最基本的对象,表的
好坏,直接关系到数据库的效率以及对数据库管
理和维护,因此,开始建立数据库之前,用户须
先对数据库中的数据表进行仔细的分析和设计.
比如那些数据存放在一张表中,每个字段的名,
字段属性的设计,一个数据库中包含几张表,与
表之间的联系等
数据库表的设计方法
学分
课程名称
课程号
课程
班级
姓名
学号
学生
实体属性
实体
实例:
学生选课系统
实体之间联系:
多对多
初步设计关系表
85
4
多媒体
2145
计用05(3)
王五
055048011
80
数据库技术
2304
76
计用05
(2)
张三
055047006
成绩
课程编号
表3-1
关系数据库设计步骤,原则
1.需求分析
信息需求
处理需求
安全性和完整性需求
2.确定需要的表
一个实体对应一个表
关系数据库设计步骤,原则
3.确定表中所需字段
每个字段直接和表中的实体相关
字段——实体型的属性
以最小的逻辑单位存储信息
表中的字段必须是原始数据
确定关键字字段
关键字字段——实体中的码
4.确定联系
一对多:
在"
多"
的一边加上"
一"
那边的关键字字段;
多对多:
添加一个关系表,表中存两个相关表的关键字字段;
一对一:
根据具体情况而定,或用一个表存储,或用两个表存储,两个表使用相同的关键字字段,也有可能两个表通过外关键字字段建立联系.
5.设计求精
3.2创建数据库的方式
利用数据库向导创建数据库
不利用向导创建数据库
3.2.1利用数据库向导创建数据库
例3-1创建"
工时与账单"
数据库
启动Access2002以后,将鼠标移动到工具栏上的新建图标单击左键,或通过"
文件"
\"
新建"
选项;
打开新建文件窗口
2)打开通用模板窗口;
选择"
图标,然后"
确定"
3)出现"
文件新建数据库"
窗口;
选择路径输入文件名,单击"
创建"
按钮
4)启动数据库向导:
5)单击"
下一步"
进入下面窗口:
6)选择数据库中相应的表,确定表中的字段,并确定是否添加可选字段,(可选字段为斜体)然后单击"
7)确定屏幕的显示样式,然后"
8)确定打印报表的样式,然后"
9)确定数据库的标题,单击下一步:
10)单击"
完成"
开始创建数据库.
11)出现对话框,单击确定.
12)输入注册信息,然后关闭窗口
13)数据库对象建完后,系统会自动输入有关信息,输入完后关闭窗口.
14)在主切换面板中,选择进入各个窗体,输入客户的相关信息后关闭窗口;
15)回到数据库窗口用户可以查看数据库的对象(双击鼠标)
3.2.2不利用向导创建数据库
例3-2不利用向导创建"
图书管理数据库"
打开Access,选择"
空数据库"
"
在我们以后的章节中,将一直以图书管理
数据库作为例子
2)选择保存路径,输入数据库文件名"
单击"
操作题
使用模板创建一个学生管理的数据库
不使用模板创建一个空数据库
1.字段
字段名称要能够直接,清楚的反映信息内容
字段命名规定(同样适合于控件和对象):
长度不能超过64个西文字符(32个汉字);
不能包含句号"
."
感叹号"
!
"
重音符号和方括号"
[]"
;
不能以空格开头;
不能包含控制字符(0~31的ASCII值);
最好确保字段名和Access中已有的属性和其他元素的名称不相同.
2.字段的数据类型
合理选择字段的数据类型,可有效的提高数据库效率,并可避免一些错误的发生.
例:
2002年5月14日
8
日期或时间
日期(Date/Time)
货币值除外
用来算术计算的数值
数字(Num)
注释,说明
65536
长文本或文本与数字的组合
备注(Memo)
地址,电话号码,学号
255
文本或数字与文本组合,或不需要计算的数字
文本(Text)
备注
存储空间(字节)
适用范围
数据类型
表4-1字段的数据类型
UNC,URL路径
64000
用于超链接
超链接(Hyperlink)
Word,Excel文件
1GB
用于使用OLE协议在其它程序中创建的OLE对象
OLE对象(OLEObject)
是/否(Yes/No)
此类型字段不能更新
添加记录时,Access自动制定的唯一顺序号.
自动编号(AutoNum)
精确到小数点左边15位,小数点右边4位,禁止四舍入.
货币值
货币(Currency)
表4-1字段的数据类型(续)
在数据类型列表中选择此选项,将会启动向导进行定义,严格说不是一种数据类型.
与对应于查阅子段的主键大小相同的存储空间
一般为4字节
用于创建这样的字段,它允许用户使用组合框来选择来自其他表或来自值列表的值
查阅向导(LookupWizard)
3.字段的属性
字段的属性指字段的大小,外观和其他的一些能够说明字段所表示的信息和数据类型的描述
Access为大多数属性提供了默认属性设置,也可以改变默认设置或自行设置.
常用的简单属性有如下几种:
字段大小
可由用户设置此属性的数据类型有:
文本型,数字型和自动编号型;
文本型的字段大小属性可设置为1~255之间的任何整数,默认值为50;
数字型字段大小属性的可选项有:
字节,整型,长整型,单精度型,双精度型,同步复制ID和小数.默认值为长整型;
3.字段的属性(续)
自动编号型大小属性可选择长整型和同步复制型,默认为长整型;
索引
具有此属性的数据类型为:
文本型,数字型,货币型,日期/时间型;
索引属性可有三个取值:
无索引,有索引(有重复),有索引(无重复)
格式
除了OLE对象外,任何数据类型的字段都可设置格式;
Access为自动编号,数字,货币,日期/时间,是/否提供了预定义格式,可从列表中选择.
4)小数位数
此属性要在格式设置完毕后定义才有效,提供了自动和1~15位的选项;
只影响显示的小数位数,不影响保存的小数位数.
默认值
指定在添加新记录时自动输入的值;
添加新记录时可接受默认值,也可键入新值覆盖它;
字段有效性规则
用来控制数据输入的有效性和正确性.
4.字段的说明
字段说明是指对每个字段一般有一个简短的说明性文字,用来说明这个字段所表示的具体信息,以及设计字段时的注释.
此说明会在向该字段添加数据时出现在状态栏中(此项设置可选)
字段属性示例图4-1
字段读者类型的属性
4.2.2通过输入数据创建表
通过"
输入数据创建表"
可以一次性完成表的创建和数据的输入,适合把记录在纸上的数据直接建成数据库的形式.
例4-2图书管理数据库包含如下"
读者信息表"
要求用"
的方法创建完成
图4-7
操作步骤如下:
打开数据表视图
打开"
选择"
通过输入数据创建表"
命名字段
在空表的数据表视图中,双击空表的"
字段1"
将字段1命名为"
读者ID"
依次命名其它字段.
输入数据
在各字段中顺序输入数据.
保存表,将表保存为"
定义主键
系统弹出"
尚未定义主键"
警告框,单击"
是"
由系统自动定义一个主键.
4.2.3利用"
设计器"
自行设计表
表的设计视图中,可以对表的结构进行修改,并能够自行设计表
例4-3利用"
为"
创建一个如图4-8的"
图书信息表"
图4-8
操作步骤:
打开设计视图
在数据库窗口中双击"
使用设计器创建表"
后,弹出表的设计视图.
定义字段
在"
字段名称"
列中输入字段名;
单击"
数据类型"
右边的按钮,显示出所有数据类型的列表框,从中选择一种合适的.
保存表
4.2.4导入已有数据创建表
可以导入和联接的数据源有:
MicrosoftAccess,MicrosoftExcel等.
在导入或连接数据之前,必须创建或打开Access2002数据库,以包含导入或连接的表.
在Access2002数据库中,导入的数据将用新表创建导入数据的一个副本,同时源表或源文件不会改变.
在Excel中有如图所示的表,在图书管理数据库里,导入这个表.
1.打开数据库,切换到当前的图书管理数据库:
4.3表的关键字和记录
一,定义关键字
每个表都应该包含一个或一组这样的字段:
这些字段是表中所存储的每一条记录的唯一标识,该信息即称作表的主键.指定了表的主键之后,Access将阻止在主键字段中输入重复值或Null值.
1)系统自动定义关键字
2)用户自定义关键字
设计"
视图中打开表.
选择将要定义为主键的一个或多个字段.若要选择一个字段,请单击所需字段的行选定器.
若要选择多个字段,请按住Ctrl键,然后对每个所需字段单击其行选定器.
单击工具栏上的"
主键"
3)删除关键字
单击当前主键的行选定器,然后单击工具栏上的"
二,创建索引
创建索引以快速查找和排列记录
在窗口上部,单击要为其创建索引的字段.
在窗口下部,在"
索引"
属性框中单击,然后单击"
有(有重复)"
或"
有(无重复)"
单击工具栏中的索引按钮
在索引对话框中选择所需要的索引姓名,设置属性
关闭索引对话框,保存修改
三,记录的编辑
如何打开一个表
我们已经会使用表向导建立表了.表虽然是建立好了,但一个空白的表没有任何用处,我们必须在建立好的表中输入数据,并学习一些关于表的基本操作.往表中添加数据之前要先打开它,前面已经学过如何打开一个数据库,首先启动Access,选择"
打开已有文件"
双击"
打开它.在数据库窗口中单击"
表"
选项,可以看到在数据库右边的"
创建方法和已有对象列表"
列表框中.
4.3表的关键字和记录
要打开这个表有两种方法,一是用鼠标双击这个选项,另一个方法是先单击这个选项选中它,然后再单击数据库窗口上的"
打开"
按钮.打开这个表之后,我们就开始往里面输入数据.
如何在表中添加,修改和删除数据
我们先在表中输入几个数.在一个空表中输入数据时,只有第一行中可以输入.首先将鼠标移动到表上的字段和第一行交叉处的方格内,单击鼠标左键,方格内出现一个闪动的光标,表示可以在这个方格内输入数了.
如果输入时出现错误想改的话,只要按键盘上的方向键,将光标移动到要修改的值所在的方格,也可以直接用鼠标单击,选中方格内的数据,然后用键盘上的"
DELETE"
键将原来的值删掉,并输入正确的值就可以了.向表中输入数据是一件很细致的工作,千万不能马虎大意.简单的表,数据比较少,出错了容易检查;
如果一张表很大,而且字段类型又比较复杂的话,输入的值出现错误,查起来就会非常麻烦.而且要是没有检查出来,让错误的数据留在表中,可能会给工作造成非常严重的后果.
4.4建立表之间的关系
表的规范化
1)字段的唯一性:
每个字段是不可再分的数据项
2)主关键字:
每一个表都应该有一个关键字
3)功能关系性:
表中的其它字段与主关键字是否直接相关
4)字段的独立性:
字段之间不存在相依性,
字段不存在相互依赖的例子如下:
年龄
出生年月
2.表之间的关系
此处的关系指两个表的共有字段之间的关联性,只有定义了关系,才使得查询,窗体,报表可以显示多个表的信息.
关系通过匹配各个表中的关键字段的数据,对各表中的字段进行协调.
4.4建立表之间的关系
首先看一个例子:
一对一"
关系,比如下面的两个表:
某学校学生月副食补助和某学校学生月助学金
我们将这两个表中的数据进行汇总生成新的表:
某学校学生月实发金额汇总"
:
由于姓名字段可能会出现重复的情况,所以只有通过不可能出现重复的值的字段"
学号"
才能将这两个表唯一地联系起来,保证"
副食补贴"
和"
助学金"
不至于错误地发放,这样"
月副食补助表"
中的一个学号就只对应"
月助学金"
中的一个学号,绝对不会弄错.这样两个表的关系很明显就是"
了.
一对多和多对多,前面已经讲过.不再重复.
3.关系的创建
关系通过匹配字段的数据来建立,建立表之间的关系,必须满足下面的条件:
(1)相关联的字段名称不一定相同,但字段类型必须相同;
(2)相关联的字段若为数字型,二者还必须具有相同的"
字段大小"
属性设置;
(3)特殊,自动编号型字段可以和数字型字段匹配,但必须二者具有相同的"
属性配置.
创建关系的关键:
对表之间的内在联系进行分析,确定联系模式,一般还应该确保每个表都有主关键字或唯一索引.
遵循原则:
(1)"
一对多"
关系,要求只有一个表的相关字段是主关键字或唯一索引;
("
那边的关键字)
(2)"
关系,要求两个表的相关字段都是主关键字或唯一索引;
(3)"
多对多"
关系,通过使用第三个表来创建,第3个表至少包括两个部分(既可以是字段也可以是字段组),一部分来自A表的关键字或唯一索引字段,另一部分来自B表的关键字或唯一索引字段,还可以增加其它字段.
例4-8
建立各表之间的关系.
分析:
图书管理数据库中,四张表之间的关系
规则:
那边的关键字
关系窗口
关系的创建步骤:
关闭所有打开的表
选择需要创建关系的表
单击菜单栏"
工具"
/"
关系"
若还没有定义关系,则弹出"
显示表"
对话框,否则显示关系窗口.
对话框的"
选项卡中,单击需要创建关系的表名称,再单击"
(或双击表名称),弹出关系窗口.
定义关系
①在"
窗口中,将要建立关系的字段从一个表中拖拽到相关表中的字段上,弹出"
编辑关系"
对话框.
按钮,弹出"
对话框,从下拉列表"
左表名称"
中选择"
读者权限表"
并从"
左列名称"
读者类型"
字段,同样选择右表名称"
右列名称"
单击"
回到"
对话框.
"
对话框
对
话框
②选中"
对话框中的"
实施参照完整性"
复选框,则将建立两个表之间的"
的关系.
③如果用户想更改主表的记录时,系统自动更新相关表中的记录,就选择"
级联更新相关字段"
复选框.
④如果用户想删除主表的记录时,系统自动删除相关表的记录,则选择"
级联删除相关字段"
⑤单击"
就建立了"
⑥重复①~⑤,依次定义各表之间的关系.
保存关系
删除关系
关系的完整性规则
实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值.
实体完整性规则规定基本关系的所有主属性不能取空,而不仅是主码整体不能取空.比如学生选课关系(学号,课程号,成绩)中,学号+课程号是主码,则"
课程号"
两个属性都不能取空.
对整体完整性说明如下:
(1)实体完整性是针对基本关系的.一个表通常对应现实世界的一个实体集.
(2)现实世界的实体是可区分的,即具有唯一标识
(3)相应的,关系模型中,主码为唯一标识
(4)主码不为空.如果有空值,则说明存在某个不可标识的实体,与
(2)矛盾.
关系的完整性规则
参照关系,外码设F是基本关系R的一个或一组属性,但不是关系R的主码.如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系.
学生,课程,学生与课程之间的多对多联系由下面三个关系表示(下划线为主键)
专业号
性别
课程名
S学生关系
S课程关系
R选修关系
上述三个关系之间存在着属性的引用:
选修关系引用了学生关系的主码"
和课程关系的主码"
而且,选修关系中的"
必须是确实存在的学生的学号,即学生关系中有该学生的记录."
也必须是确实存在的课程的课程号,即课程关系中有该课程的记录.
选修关系中某些属性的取值需要参照其它关系的属性取值.
上述三个关系中,"
是学生关系的外码,学生关系为参照关系,选修关系为目标关系.
注意
目标关系的主码和参照关系的外码必须定义在同一个域上
参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
★或者取空值(F的每个属性值均为空)
★或者等于S中某个元组的主码值
专业名