在数据库的学习中,表的创建是需要掌握好的,下面直接进行实操。
1.建立基本表
(1)创建系表dept,由以下属性组成:
系号dno(int型,主码),
系名dname(varchar 2型,长度为20,非空)。
create table dept(
dno int,
dname varchar2(20) not null,
constraint dept_pk_dno primary key (dno)
);
(2)创建学生表student,由以下属性组成:
学号sno(int型,主码),
姓名sname(varchar2型,长度为10,非空,唯一),
性别sex(char 型,长度为1),
所在系dno(int型),
其中dno为外键,参照表dept的dno。
create table student(
sno int,
sname varchar2(10) not null unique,
sex char(1),
dno int,
constraint student_pk_sno primary key (sno),
constraint student_fk_dno foreign key (dno) references dept(dno)
);
(3)创建教师表teacher,由以下属性组成:
教师编号tno(int 型,主码),
教师姓名tname(varchar2型,长度为20,非空)。
create table teacher(
tno int,
tname varchar2(20) not null,
constraint teacker_pk_tno primary key (tno)
);
(4)创建课程表course,由以下属性组成:
课程号cno(int型),
课程名cname(varchar2型,长度为20,非空),
授课教师编号tno(int型),
学分credit(int型),
其中cno为主码,tno为外键,参照表teacher的tno。
create table course(
cno int,
cname varchar2(20) not null,
tno int,
credit int,
constraint course_pk_cno primary key (cno),
constraint course_fk_tno foreign key (tno) references teacher(tno)
);
(5)创建学生选课表sc,由以下属性组成:
学号sno,课程cno,成绩grade。所有属性均为int 型,其中(sno,cno)为主码,sno为外键,参照表student的sno;cno为外键,参照表course的cno。
create table sc(
sno int,
cno int,
grade int,
constraint sc_pk_scno primary key(sno,cno),
constraint sc_fk_sno foreign key (sno) references student(sno),
constraint sc_fk_cno foreign key (cno) references course(cno)
);
(6)创建一个视图名为cs_student,显示系名为“信息技术”的学生记录。
create view cs_student as select * from student
where dno=(select dno from dept where dname = '信息技术');
2.向表中插入数据
insert into dept values(10,'信息技术');
insert into dept values(20,'软件工程');
insert into dept values(30,'网络工程');
insert into student values(1001,'张天','0',10);
insert into student values(1002,'李兰','1',10);
insert into student values(1003,'刘茜','1',20);
insert into student values(1004,'马朝阳','0',30);
insert into teacher values(101, '张星');
insert into teacher values(102, '李珊');
insert into teacher values(103, '赵天');
insert into course values(1, '数据结构', 101, 4);
insert into course values(2, '数据库', 102, 4);
insert into course values(3, '离散数学', 103, 4);
insert into course values(4, 'c语言程序设计', 103, 4);
insert into sc values(1001, 1, 80);
insert into sc values(1001, 2, 85);
insert into sc values(1002, 1, 78);
insert into sc values(1002, 2, 82);
insert into sc values(1002, 3, 86);
insert into sc values(1003, 1, 92);
insert into sc values(1003, 3, 90);
insert into sc values(1004, 4, 90);
至此,基本表创建以及数据插入结束。可以通过这些表来尝试其它的一些sql语句。
个人学习记录,如果有错误的地方,希望看见的同学能给我指出来。