上海理工大学《数据库基础》实验代做案例
实验一、数据库基础

添加微信好友, 获取更多信息
复制微信号
[实验目的]
1、 掌握Access数据库和表等基本元素的建立
2、 理解数据库技术的三级模式两级映像
3、 理解并掌握关系数据库完整性基本概念,掌握完整性的基本设置方法:
参照完整性的建立——表间关系的建立
自定义完整性的建立——有效性规则及有效性文本
[实验内容]
一、创建数据库及表,实现实体完整性
1、 建立文件夹mydb(注意路径)
2、 进入Microsoft Access,新建数据库,数据库名为mycompany.accdb,保存在mydb下
3、 新建模式(表):
点击“表1”右键——选“设计视图”——输入表名
选中某属性或属性组所在行——点击“主键”即可设置主码
(1)employee
字段名 | 说明 | 字段类型 | 字段长度 | 是否主键(主码) |
empID | 员工编号 | 文本 | 4 | 是 |
empName | 员工姓名 | 文本 | 10 | 否 |
empSex | 员工性别 | 文本 | 2 | 否 |
empAge | 员工年龄 | 数字(整型) | 否 | |
Addr | 员工住址 | 文本 | 40 | 否 |
Dept | 员工所在部门 | 文本 | 8 | 否 |
Salary | 员工工资 | 数字(单精度型) | 小数位数2位 | 否 |
关于“字段长度”设置,在下面“常规”卡中设置文本长度、数字类型、小数位数等
再新建一个表,点击菜单栏“创建”——“表设计”
(2)Product
字段名 | 说明 | 字段类型 | 字段长度 | 是否主键(主码) |
prodID | 产品编号 | 文本 | 4 | 是 |
prodName | 产品名称 | 文本 | 10 | 否 |
ProdClass | 产品类别 | 文本 | 20 | 否 |
unitprice | 产品单价 | 数字(单精度型) | 小数点2位 | 否 |
再新建一个表,点击菜单栏“创建”——“表设计”
(3)Sales
字段名 | 说明 | 字段类型 | 字段长度 | 是否主键(主码) |
orderID | 订单编号 | 文本 | 10 | 是 |
prodID | 产品编号 | 文本 | 4 | |
Qty | 销售数量 | 数字(整型) | 否 | |
empID | 销售员员工编号 | 文本 | 4 | 否 |
注:orderID和prodID共同作为主键,同时选中orderID、prodID,点击主键
4、 输入数据:双击表名或点击表名右键“打开”,即可输入数据
(1)employee
empID | empName | empSex | empAge | Addr | Dept | Salary |
1 | 张颖 | F | 43 | 北京 | 会计 | 8800 |
2 | 王伟 | M | 49 | 苏州 | 生产 | 6500 |
3 | 李芳 | F | 38 | 苏州 | 生产 | 4500 |
4 | 郑建杰 | M | 32 | 北京 | 会计 | 2500 |
5 | 赵军 | M | 27 | 苏州 | 生产 | 3000 |
6 | 孙林 | M | 43 | 上海 | 会计 | 8000 |
7 | 金士鹏 | M | 32 | 苏州 | 生产 | 4000 |
8 | 刘英玫 | F | 25 | 上海 | 销售 | 2500 |
9 | 张雪眉 | F | 25 | 上海 | 销售 | 2500 |
10 | 张华 | F | 26 | 北京 | 销售 | 3000 |
(2)Product
prodID | prodName | prodClass | Unitprice |
1 | 苹果汁 | 饮料 | 19.9 |
2 | 牛奶 | 饮料 | 15.2 |
3 | 大众奶酪 | 日用品 | 21 |
4 | 德国奶酪 | 日用品 | 38 |
5 | 饼干 | 点心 | 17.5 |
6 | 糖果 | 点心 | 9.2 |
7 | 桂花糕 | 点心 | 12.5 |
(3)Sales
orderID | prodID | Qty | empID |
10248 | 1 | 12 | 8 |
10248 | 2 | 10 | 8 |
10249 | 5 | 9 | 9 |
10249 | 6 | 40 | 9 |
10250 | 1 | 10 | 9 |
10250 | 2 | 35 | 9 |
10250 | 4 | 15 | 9 |
10251 | 3 | 6 | 8 |
10251 | 4 | 15 | 8 |
10252 | 5 | 40 | 8 |
10252 | 6 | 25 | 8 |
10252 | 2 | 40 | 8 |
10253 | 1 | 20 | 9 |
10253 | 2 | 42 | 9 |
10253 | 3 | 40 | 9 |
10254 | 3 | 15 | 8 |
10254 | 5 | 21 | 8 |
10254 | 7 | 21 | 8 |
10255 | 1 | 20 | 9 |
10255 | 2 | 35 | 9 |
10255 | 3 | 25 | 9 |
10255 | 5 | 30 | 9 |
10256 | 5 | 15 | 8 |
10256 | 6 | 12 | 8 |
10257 | 1 | 25 | 9 |
10257 | 2 | 6 | 9 |
10257 | 3 | 15 | 9 |
10258 | 2 | 50 | 8 |
10258 | 3 | 65 | 8 |
10258 | 4 | 6 | 8 |
10259 | 4 | 10 | 9 |
10259 | 5 | 1 | 9 |
10260 | 1 | 16 | 8 |
10260 | 2 | 50 | 8 |
10260 | 6 | 15 | 8 |
10260 | 7 | 21 | 8 |
10261 | 1 | 100 | 10 |
10261 | 2 | 100 | 10 |
10262 | 5 | 200 | 10 |
10262 | 7 | 200 | 10 |
二、体验实体完整性
在employee表中新增一条员工信息
张三 | 30 | M | 销售 | 苏州 | 6000 |
然后回车,体验DBMS实体完整性检验(码中的属性为主属性,不能为空,不输入DBMS会提醒,实现实体完整性)
三、实现用户自定义完整性
1、通过“验证规则”“验证文本”设置用户自定义完整性
通过“验证规则”设置,“验证文本”是对验证规则的说明
注意:字符需是全英文状态下输入的,否则有问题
有效性规则中的表达式举例(注意字符必须是全英文状态下的字符)
可用运算符 | 有效性规则 | 有效性文本 |
NOT | NOT>10 | 输入<=10的值。 |
IN | IN("东京","巴黎","莫斯科") | 输入的值只能是"东京","巴黎","莫斯科"其中一个 |
BETWEEN | BETWEEN 0 AND 1 | 输入0到1之间的值。 |
LIKE | LIKE"Geo*" | 输入Geo开头的字符串 |
AND | >=#01/01/2007#AND<#01/01/2008# | 必须输入2007年的日期。 |
OR | M Or F | 输入M(代表男性)或F(代表女性)。 |
< | <10 | 小于10 |
<= | <=10 | 小于等于10 |
> | >10 | 大于10 |
>= | >=10 | 大于等于10 |
= | = | |
<> | <>0 | 输入不等于0值。 |
(1)属性empSex,验证规则:In(“F”,”M”)
验证文本:只能是F、M,F表示女,M表示男
(2)属性empAge,验证规则:>=18
验证文本:年龄>=18
(3)回答输入数据
11 | 张三 | 17 | G | 销售 | 苏州 | 6000 |
看看是否能成功,体验用户自定义完整性
四、创建参照完整性
点击菜单“数据库工具”——“关系”——添加所有的表
选中employee中的empID,按住鼠标不动,将鼠标拖到Sales中的empID,出现“编辑关系”对话框,选中“实施参照完整性”
同理:“product”表“prodID”与“sales”表“prodID”:一对多关系(实施参照完整性)
整个数据库关系:
想一想DBMS如何确定外码?
想一想“编辑关系”级联删除或更新的含义???
四、创建子模式(外模式)
点击菜单栏“创建”——“查询设计”
(1) 查询 地址=上海 的员工编号、姓名、性别,点击菜单“运行”
(2) 查询产品类别为日用品的产品信息
请问你还可以根据实际需求建立其他的一些外模式,试一试
本文链接:https://daizuozuoye8.com/?id=171
转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!
请发表您的评论