数据库的多表操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二数据库定义

课程名称:数据库原理实验类型:综合型

实验名称数据库定义学时2学时

实验目的:

(1)使学生掌握E_R图的设计方法,并能将E_R图转换成关系模式;

(2)熟悉SQL DDL和DML语言,能够完成基本的表结构的定义、修改;

(3)掌握数据库完整性约束定义

实验原理:

1.将E_R图转换为关系的方法:

⏹一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的

⏹一个1:1联系可以转换为一个独立的关系模式,也可以与任意对应的关系模式合并

⏹一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并

⏹一个m:n联系转换为一个关系模式

三个或三个以上实体间的一个多元联系可以转换为一个关

实验内容:

假设某公司的业务规则如下:

(1)公司下设几个部门,如技术部、财务部、市场部等。

(2)每个部门承担多个工程项目,每个工程项目属于一个部门。

(3)每个部门有多名职工,每一名职工只能属于一个部门。

(4)一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工,一个职工可以参与多个项目。根据职工在工程项目中完成的情况发放酬金。

(5)工程项目有工程号、工程名两个属性;部门有部门号、部门名称、办公电话和办公地点等属性;职工有职工号、姓名、性别属性,出生日期;

问题:

1.根据上述规则设计E-R模型;

2.将E-R模型转换成关系数据模型;

部门(部门号,部门名称,办公地点,办公电话)

项目(工程号,工程名,部门号)

员工(职工号,姓名,性别,出生年龄,部门号)

承担(项目号,职工号,工资)

3.利用SQL语句定义上述关系,要求:

(1)为每个关系定义主码和外码;

(2)职工姓名、部门名称不能取空值,并且部门名称是唯一的;

(3)职工的性别只能取“男”和“女”,默认值为“男”;

(4)部门号具有类似“B01”的形式,即每个部门号的首字符为“B”,其余两个字符为数字。

(5)酬金不低于2000元。

4.修改部门号的约束,改为“B001”的形式,每个部门号的首字符为“B”,其余三个字符为数字。

create database company;

create table a

(ano char(6) check(ano between'B001'and'B999') primary key,

aname varchar(8) not null,

age smallint,

aphone char(6),

aaddress char(10)

)

create table b

(bno char(6) primary key,

bname varchar(20),

ano char(6),

foreign key(ano)

references a on delete cascade

)

create table employees

(employeeID char(6) primary key,

employeename char(6) not null,

sex char(2) check(sex='男' or sex='女') default('男'),

brithday char(10),

ano char(6),

foreign key(ano)

references a on delete cascade

)

create table cheng

(employeeID char(6),

bno char(6),

salary int check(salary>=2000),

primary key(bno,employeeID),

foreign key(bno)

references b on delete cascade,

foreign key(employeeID)

references employees on delete no action

)

5.在原有关系的基础上,增加一个新列,用于记录每名职工参加项目的起始时间。

alter table cheng add start datetime

实验总结

通过本次试验使我掌握E_R图的设计方法,并能将E_R图转换成关系模式;熟悉SQL DDL和DML语言,能够完成基本的表结构的定义、修改;掌握数据库完整性约束定义

实验三数据更新

课程名称:数据库原理实验类型:综合型

实验名称数据更新学时2学时一.实验目的和要求:

掌握用SQL语句实现数据的插入、修改和删除。

二.实验内容:

建立一个商店的数据库store,记录顾客及其购物情况,由下面三个表组成:商品(商品号,商品名,单价,商品类别,供应商);

顾客(顾客号,姓名,住址);

购买(顾客号,商品号,购买数量);

三.试用SQL语言完成下列功能:

1.建表,在定义中要求声明:

(1)每个表的主外码;

(2)顾客的姓名和商品名不能为空值;

(3)单价必须大于0;

(4)购买数量必须在0到20之间;

2.往表中插入数据:

部门(M01,佳洁士,8.00,牙膏,宝洁;

M02,高露洁,6.50,牙膏,高露洁;

M03,洁诺,5.00,牙膏,联合利华;

M04,舒肤佳,3.00,香皂,宝洁;

M05,夏士莲,5.00,香皂,联合利华;

M06,雕牌,2.50,洗衣粉,纳爱斯

M07,中华,3.50,牙膏,联合利华;

M08,汰渍,3.00,洗衣粉,宝洁;

M09,碧浪,4.00,洗衣粉,宝洁;)

相关文档
最新文档