一、实验内容
1.创建数据库和查看数据库属性。 2、创建表、确定表的主码 3、查看和修改表结构。 4,具体内容 (1)使用SQL语句按教材中的内容建立学生数据库。 (2)查看学生数据库的属性,并进行修改,使之符合要求? (3)使用SQL语句,在建好的学生数据库中建立学生、课程、选课和系部4个表,其 结构为: 学生(学号,姓名,年龄,性别,所在系 课程(课程号,课程名,先行课,学分 选课(学号,课程号,成绩 系部(系号,系名称,系主任
二、实验要求
1、建库、建表和建立表间联系。(表间联系通过外键实现,在属性关系中建) 2、选择合适的数据类型。 3、定义必要的主键和索引。 4、使用SQL语句在上述4个表中尽可能的多输入些数据(每个表不能少于10条记 录)。要求记录不仅满足数据约束要求,还要有表间关联的记录?
三、实验代码
-- theme 数据库实验一
-- author 202056228杨丽花
-- data by 2022.5.6
create database Q;
--1.创建学生表
create table student(
sno char(9) primary key, --将学号设置为主码
sname char(20),
ssex char(2),
sage int,
sdept char(20)
);
--插入元组
insert
into student(sno,sname,ssex,sage,sdept)
values('01','赛文奥','男',20,'软件工程'),
('02','雷杰多','男',19,'软件工程'),
('03','赛迦','男',19,'软件工程'),
('04','诺亚','男',19,'软件工程'),
('05','玛丽','女',19,'软件工程'),
('06','盖亚','男',20,'软件工程'),
('07','戴拿','男',20,'网络工程'),
('08','赛罗','男',19,'软件工程'),
('09','雷欧','男',20,'数字媒体'),
('10','泰罗','男',20,'软件工程');
--修改表中数据
update student set sage=18 where Sno='09';
--创建索引
create unique index stusno on student(sno);
--2.创建课程表
create table course(
cno char(9) primary key, --将课程号设置为主码
cname char(30),
cpno char(30), --先行课
cpoint int --学分
);
--插入元组
insert
into course(cno,cname,cpno,cpoint)
values('21081026','高等数学A1','无',4.5),
('21102018','大学英语1','无',3),
('22051021','C++程序设计A1','无',3),
('22052022','计算机导论','无',1.5),
('21202007','军事理论','无',1),
('21202012','思想道德修养','无',3),
('21081031','高等数学A2','21081026',4),
('21102014','大学英语2','21102018',2),
('21083008','大学物理C','无',4),
('27051008','C++程序设计A2','22051021',2);
--修改表中数据
update course set cno=22051014 where cno=27051008;
--创建索引
create unique index coucno on course(cno);
--3.创建选课表
create table sc(
sno char(9),
cno char(9),
grade int
primary key(sno,cno),
foreign key(sno) references student(sno), --外码
foreign key(cno) references course(cno), --外码
);
--插入元组
insert
into sc(sno,cno,grade)
values('01','22051021',92),
('01','21081031',95),
('01','21081026',90),
('02','21202007',100),
('02','22052022',97),
('02','22051021',92),
('03','21102014',87),
('04','22051021',96),
('05','21083008',97),
('06','21081031',97);
--修改表中数据
update sc set grade=99 where sno='02' and cno='22052022';
--4.创建系部表
create table department(
dno char(9) primary key,
dname char(20),
manager char(20)
);
--插入元组
insert
into department(dno,dname,manager)
values('202001','机械工程系','萧峰'),
('202002','电子工程系','段誉'),
('202003','自动化系','虚竹'),
('202004','化学与化工系','王语嫣'),
('202005','计算机系','阿朱'),
('202006','环境与安全系','阿紫'),
('202007','材料工程系','木婉清'),
('202008','理学系','瑛姑'),
('202009','外语系','慕容复'),
('202010','设计艺术系','游坦之');
--修改表中数据
update department set dname='体育系' where dno='202010';
--创建索引
create unique index departmentdno on department(dno);
四、实验结果
1、student表
2、course表
3、sc表
4、department表
|