实验一oracle基本表定义创建查询插入

本文提供了一个SQL实验的教学案例,包括创建教学数据库和供应关系数据库的基本表,定义完整性约束,以及录入模拟数据的过程。实验覆盖了主码、外码、检查约束等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验类型:验证性

实验学时:2学时

一、实验目的

掌握sql语句定义基本表,理解完整性约束定义方法。

二、实验内容

使用select语句完成以下操作,1)或(2)二选一:

(1)建立教学数据库基本表,定义主码,姓名不能重复,成绩小于等于100,并录入模拟数据。

student(sno,sname,ssex,sage,sdept)

course(cno,cname,cpno,ccredit)

sc(sno,cno,grade)

(2)建立供应关系数据库基本表,定义外码,录入模拟数据。

s(sno,sname,status,city)

p(pno,pname,color,weight)

j(jno,jname,city)

spj(sno,pno,jno,qty)

三、实验结果参考

本指导书的实验参考均以ORACLE 为例。

(1)

create  table  student (

sno  char(12)  not null ,

sname  varchar2(20) unique,

ssex  char(3) not null check(ssex='男' or ssex='女'),

sage  number(3)not null,

sdept  varchar2(20) ,

primary  key(sno)  

);

create  table course (

cno varchar2(6) not null ,

cname varchar2(20) not null ,

cpno varchar2(6) ,

ccredit number(2) ,

primary  key (cno) 

    );



create table sc (

sno char(12)  not null ,

cno varchar2(6) not null ,

grade number(3) check(grade<=100) ,

primary key (sno,cno)

) ;

insert into student(sno, sname, ssex, sage, sdept)

values('200215121', '李勇', '男',20,'cs');

insert into student(sno, sname, ssex, sage, sdept)

values('200215122', '刘晨', '女',19,'cs');

insert into student(sno, sname, ssex, sage, sdept)

values('200215123', '王敏', '女',18,'ma');

insert into student(sno, sname, ssex, sage, sdept)

values('200215125', '张立', '男',19,'is');



insert into course(cno, cname, cpno ,ccredit)

values('1', '数据库',5,4);

insert into course(cno, cname, cpno ,ccredit)

values('2', '数学',null,2);

insert into course(cno, cname, cpno ,ccredit)

values('3', '信息系统',1,4);

insert into course(cno, cname, cpno ,ccredit)

values('4', '操作系统',6,3);

insert into course(cno, cname, cpno ,ccredit)

values('5', '数据结构',7,4);

insert into course(cno, cname, cpno ,ccredit)

values('6', '数据处理',null,2);

insert into course(cno, cname, cpno ,ccredit)

values('7', 'pascal语言',6,4);



insert into sc(sno, cno, grade)

values('200215121','1',92);

insert into sc(sno, cno, grade)

values('200215121','2',85);

insert into sc(sno, cno, grade)

values('200215121','3',88);

insert into sc(sno, cno, grade)

values('200215122','2',90);

insert into sc(sno, cno, grade)

values('200215122','3',80);

附加 SQL语句:

Conn system /密码;//以系统管理员身份登录

Select * from student;//查询学生表中所有的数据

Drop table student;//删除学生表,让学生表彻底消失

(2)

create table s (

sno varchar2(10) not null ,

sname varchar2(50)  ,

status number(4) ,

city varchar2(20)  ,

primary key (sno) 

) ;



create table p (

pno varchar2(10)  not null ,

pname varchar2(50),

color varchar2(10),

weight  number(4),

primary key (pno)

) ;



create table j (

jno varchar2(10)  not null ,

jname varchar2(50) ,

city varchar2(20)  ,

primary key(jno)

) ;

create table spj (

sno varchar2 (10)  not null ,

pno varchar2 (10)  not null ,

jno varchar2 (10)  not null ,

qty  number(8) ,

primary key (sno,pno,jno),

foreign key (sno) references s(sno), //外键约束

foreign key (pno) references p(pno), //外键约束

foreign key (jno) references j(jno) //外键约束

);



insert into s(sno, sname, status, city)

values('s1','精益',20,'天津');

insert into s(sno, sname, status, city)

values('s2','盛锡',10,'北京');

insert into s(sno, sname, status, city)

values('s3','东方红',30,'北京');

insert into s(sno, sname, status, city)

values('s4','丰泰盛',20,'天津');

insert into s(sno, sname, status, city)

values('s5','为民',30,'上海');

insert into p(pno, pname, color, weight)

values('p1','螺母','红',12);

insert into p(pno, pname, color, weight)

values('p2','螺栓','绿',17);

insert into p(pno, pname, color, weight)

values('p3','螺丝刀','蓝',14);

insert into p(pno, pname, color, weight)

values('p4','螺丝刀','红',14);

insert into p(pno, pname, color, weight)

values('p5','凸轮','蓝',40);

insert into p(pno, pname, color, weight)

values('p6','齿轮','红',30);

insert into j(jno, jname, city)

values('j1','三建','北京');

insert into j(jno, jname, city)

values('j2','一气','长春');

insert into j(jno, jname, city)

values('j3','弹簧厂','天津');

insert into j(jno, jname, city)

values('j4','造船厂','天津');

insert into j(jno, jname, city)

values('j5','机床厂','唐山');

insert into j(jno, jname, city)

values('j6','无线电厂','常州');

insert into j(jno, jname, city)

values('j7','半导体厂','南京');

insert into spj(sno, pno, jno, qty)

values('s1','p1','j1',200);

insert into spj(sno, pno, jno, qty)

values('s1','p1','j3',100);

insert into spj(sno, pno, jno, qty)

values('s1','p1','j4',700);

insert into spj(sno, pno, jno, qty)

values('s1','p2','j2',100);

insert into spj(sno, pno, jno, qty)

values('s2','p3','j1',400);

insert into spj(sno, pno, jno, qty)

values('s2','p3','j2',200);

insert into spj(sno, pno, jno, qty)

values('s2','p3','j4',500);

insert into spj(sno, pno, jno, qty)

values('s2','p3','j5',400);

insert into spj(sno, pno, jno, qty)

values('s2','p5','j1',400);

insert into spj(sno, pno, jno, qty)

values('s2','p5','j2',100);

insert into spj(sno, pno, jno, qty)

values('s3','p1','j1',200);

insert into spj(sno, pno, jno, qty)

values('s3','p3','j1',200);

insert into spj(sno, pno, jno, qty)

values('s4','p5','j1',100);

insert into spj(sno, pno, jno, qty)

values('s4','p6','j3',300);

insert into spj(sno, pno, jno, qty)

values('s4','p6','j4',200);

insert into spj(sno, pno, jno, qty)

values('s5','p2','j4',100);

insert into spj(sno, pno, jno, qty)

values('s5','p3','j1',200);

insert into spj(sno, pno, jno, qty)

values('s5','p6','j2',200);

insert into spj(sno, pno, jno, qty)

values('s5','p6','j4',500);

插入可以简化为

insert into spj values('s5','p6','j4',500);

 

实验报告 数据定义与简单查询实验 实验目的: 1 要求学生熟练掌握和使用SQL SQL Server企业管理器创建数据库 表索引和修改表结构 并学会使用SQL Server 查询分析器接收Transact SQL语句和进行结果分析 2 掌握查看 修改数据库和表的属性的方法 3 在建立好的数据库表中输入部分虚拟数据 学会如何实现基于单表的简单查询实验环境: Microsoft Windows 2000操作系统 SQL Server 2000数据库管理系统标准版或企业版 三 实验内容 步骤 结果和实验过程中出现的问题: 1>内容: 1 使用SQL Server 2000企业管理器和查询分析器工具(即用Transact SQL语句)创建个“图书读者数据库”(Book Reader DB); 2 使用企业管理器查看Book Reader DB的数据库属性 并进行修改 使之符合你的要求; 3 使用企业管理器和在查询分析器中用Transact SQL语句的两种方法建立图书 读者和借阅三个表 其结构为: 图书(书号 类别 出版社 作者 书名 定价 备注); 读者(编号 姓名 单位 性别 电话); 借阅(书号 读者编号 借阅日期) 要求:① 对每个属性选择合适的数据类型;② 定义每个表的主码 是否允许空值和默认值等列级数据约束;③ 对每个表的名字和表中属性的名字尽可能用英文符号标识 4 实现相关约束:①使用企业管理器来建立上述三个表的联系 即实现:借阅表与图书表之间 借阅表与读者表之间的外码约束;② 实现读者性别只能是“男”或“女”的约束 5 分别用企业管理器和查询分析器修改表的结构 在“图书”表中 增加两个字段 分别为“数量”和“购买日期” 在“借阅”表中增加个“还书日期”字段 6 用企业管理器在上述三个表中输入部分虚拟数据 7 在查询分析器中实现基于单个表的查询 ① select from Book ② select from book where Bclass ’计算机’ ③ select count from book group by Bclass ④ select from Reader ⑤ select from Borrow ⑥ select rno count bno from Borrow group by rno order by rno ⑦ select bno count rno from Borrow group by bno order by bno 2>步骤和结果: 1 方法a:打开SQL Server 2000企业管理器 在SQL Server组中新建SQL Server注册 在数据库中选择新建数据库 文件名称为“Book Reader DB” 方法b:打开SQL Server 2000查询分析器工具 输入“create database Book Reader DB” 按F5执行 个名为“Book Reader DB”的数据库就建好了 ">实验报告 数据定义与简单查询实验 实验目的: 1 要求学生熟练掌握和使用SQL SQL Server企业管理器创建数据库 表索引和修改表结构 并学会使用SQL Server 查询分析器接收Transact SQL语句和进行结果分析 2 掌握查看 修 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值