常用
create table;primary key;numeric 数值型;char 字符型;
char与varcher
1
学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:
学生(学号,姓名,专业,入学日期)
收费(学年,学号,学费,书费,总金额)
假设规定属性的类型:学费、书费、总金额为数值型数据;
学号、姓名、学年、专业为字符型数据;
入学日期为日期型数据。列的宽度自定义。
试用SQL语句定义上述表的结构,(定义中应包括主键子句和外键子句)
1.5
create table 学生
(学号char(6),
姓名char(4),
专业numeric(6),
入学日期date,
primary key(学号));
create table 收费
(学年char(10),
学号char(6),
学费numeric(5,2),
总金额numeric(7,2),
primary key(学年,学号),
foreign key(学号) references学生(学号));
2
设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
试画出ER图,并注明属性和联系类型。
2.5
3
设有关系数据库:
职工关系EMPLOYEE(职工号,职工名,街道,城市)
工作关系WORKS(职工号,公司号,工资)
公司关系COMPANY(公司号,公司名,城市)
假设职工司在多个公司兼职,请用关系代数表达式写出至少在公司号为‘C2’和‘C5’公司兼职的职工的职工号。
3.5
?
4
图书出版管理数据库中有两个基本表:
图书(书号,书名,作者编号,出版社,出版日期)
作者(作者编号,作者名,年龄,地址)
试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
4.5
?
5
假设某商业集团数据库中有一关系模式R如下:
R(商店编号,商品编号,数量,部门编号,负责人)
规定:
(1)每个商店的每种商品只在一个部门销售;
(2)每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量。
试回答下列问题:
(1)根据上述规定,写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?为什么?
(4)如果R不属于3NF,请将R分解成3NF模式集。
5.5
(1)有三个函数依赖:
(商店编号,商品编号)→部门编号
(商店编号,部门编号)→负责人
(商店编号,商品编号)→数量
(2)R的候选码是(商店编号,商品编号)
(3)因为R中存在着非主属性“负责人”对候选码(商店编号、商品编号)的传递函数依赖,所以R属于2NF.R不属于3NF。
(4)将R分解成:R1(商店编号,商品编号,数量,部门编号)R2(商店编号,部门编号,负责人)
CREATE TABLE `school`.`Untitled` (
`SNO` char(7) NOT NULL COMMENT '学号',
`SNAME` char(10) NULL COMMENT '姓名',
`SGENDER` char(2) NULL COMMENT '性别',
`SAGE` smallint(255) NULL COMMENT '年龄',
`SDEPT` varchar(20) NULL DEFAULT 计算机系 COMMENT '所在系',
PRIMARY KEY (`SNO`)
);
评论 (0)