山东大学数据库系统实验一答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 熟悉环境、建立/删除表、插入数据(2学时)
一、 实验内容
利用oracle 管理平台登入本人主用户userID ,例如user201000300001,在主用户下,创建如下5个表,合理确定每一个表的主键并建立主键,准确输入表格中的3行数据。表名、列名采用英文,oracle 不区分大小写,有not null 的列代表不允许为空。
1. 教师信息(教师编号、姓名、性别、年龄、院系名称)
test1_teacher :tid char 6 not null 、name varchar 10 not null 、sex char 2、age int 、dname varchar 10。 根据教师名称建立一个索引。
2. 学生信息(学生编号、姓名、性别、年龄、出生日期、院系名称、班级)
test1_student :sid char 12 not null 、name varchar 10 not null 、sex char 2、age int 、birthday date (oracle 的date 类型是包含时间信息的,时间信息全部为零)、dname varchar 10、class varchar(10)。 根据姓名建立一个索引。
3. 课程信息(课程编号、课程名称、先行课编号、学分)
test1_course :cid char 6 not null 、name varchar 10 not null 、fcid char 6、 credit numeric 2,1(其中2代表总长度,1代表小数点后面长度)。 根据课程名建立一个索引。
教师编号 教师姓名 性别 年龄 院系名称 100101 100102 100103
张老师 李老师 马老师
男 女 男
44 45 46
计算机学院 软件学院 计算机学院
学号 姓名 性别 年龄 出生日期
院系名称
班级 200800020101 200800020102 200800020103 王欣 李华 赵岩
女 女 男
19 20 18
1994-2-2 1995-3-3 1996-4-4
计算机学院 软件学院 软件学院
2010 2009 2009
4. 学生选课信息(学号、课程号、成绩、教师编号)
test1_student_course :sid char 12 not null 、cid char 6 not null 、 score numeric 5,1(其中5代表总长度,1代表小数点后面长度)、tid char 6。
5. 教师授课信息(教师编号、课程编号)
test1_teacher_course :tid char 6 not null ,cid char 6 not null 。
答案:一、创建表
1、create table test1_teacher(
tid char(6) primary key, name varchar(10) not null, sex char(2), age int,
dname varchar(10) )
2、create table test1_student(
sid char(12) primary key, name varchar(10) not null, sex char(2), age int,
birthday date,
dname varchar(10), class varchar(10) )
3、create table test1_course(
课程号 课程名 先行课程号
学分 300001 300002 300003
数据结构 数据库 操作系统
300001 300001
2 2.5 4
学号 课程号 成绩 教师编号 200800020101 200800020101 200800020101
300001 300002 300003
91.5 92.6 93.7
100101 100102 100103
教师编号 课程号 100101 100102 100103
300001 300002 300003
cid char(6) primary key,
name varchar(10) not null,
fcid char(6),
credit numeric(2,1)
)
4、create table test1_student_course(
sid char(12) ,
cid char(6) ,
score numeric(5,1),
tid char(6),
primary key(sid,cid),
FOREIGN KEY (sid) REFERENCES test1_student(sid),
FOREIGN KEY (cid) REFERENCES test1_course(cid),
FOREIGN KEY (tid) REFERENCES test1_teacher(tid)
)
5、create table test1_teacher_course(
tid char(6) ,
cid char(6) ,
primary key(tid,cid),
FOREIGN KEY (tid) REFERENCES test1_teacher(tid),
FOREIGN KEY (cid) REFERENCES test1_course(cid)
)
二、创建索引
1、create index index_table1 on test1_teacher(name);
2、create index index_table2 on test1_student(name);
3、create index index_table3 on test1_course(name);
三、插入数据
1、
insert into test1_teacher values('100101','张老师','男',44,'计算机学院');
insert into test1_teacher values('100102','李老师','女',45,'软件学院');
insert into test1_teacher values('100103','马老师','男',46,'计算机学院');
2、
insert into test1_student values('200800020101','王欣','女',19,to_date('19940202','yyyymmdd'),'计算机学院','2010');
insert into test1_student values('200800020102','李华','女',20,to_date('19950303','yyyymmdd'),'软件学院','2009');