实习一:数据定义

本文档详细描述了如何使用SQL语句创建供应商、零件、工程项目和供应情况四个数据表,并给出了各表的字段定义及约束条件。接着,展示了如何向这些表中插入初始数据,最后列出了一系列对已有表结构和数据进行修改的操作,包括添加字段、删除约束、修改数据类型以及创建索引等。
摘要由CSDN通过智能技术生成

一、实验内容

1.用SQL语句创建工程项目数据表

(1)使用sql语句建立4个关系,如下:

供应商表ssno, sname, city

零件表ppno, pname, color, weight

工程项目表jjno, jname, city

供应情况表 spjsno, pno, jno, qty

其中:

供应商表s由供应商代码(sno)、供应商姓名(sname)、供应商所在城市(city)组成;

零件表p由零件代码(pno)、零件名(pname)、颜色(color)、重量(weight)组成;

工程项目表j由工程项目代码(jno)、工程项目名(jname)、工程项目所在城市(city)组成;

供应情况表spj由供应商代码(sno)、零件代码(pno)、工程项目代码(jno)、供应数量组成(qty),表示某供应商供应某种零件给某工程项目的数量为qty

要求:

① 创建每个关系的主键,有外键的创建外键。

② s表中的sname属性列的取值唯一。

③ p表中weight属性列的取值范围在1-50之间。

④ j表中的jname取值不能为空并且是唯一的。

create table s
(sno varchar2(20)primary key,sname varchar2(40)unique,city varchar2(40));
create table p(pno varchar2(20)primary key,pname varchar2(40),color varchar2(40),weight number,check( weight between 10 and 50));

create table j
(jno varchar2(20)primary key,jname varchar2(40)not null unique,city varchar2(40));

create table spj
(sno varchar2(20),pno varchar2(20), jno varchar2(20),qty number,primary key(sno,pno,jno),foreign key(sno)references s(sno),foreign key(pno)references p(pno),foreign key(jno)references j(jno));

(2)将下列数据录入s,p,j和spj表中:

s

sno

sname

city

s1

精益

天津

s2

盛锡

北京

s3

东方红

北京

s4

丰泰盛

天津

s5

为民

上海

p

pno

pname

color

weight

p1

螺母

12

p2

螺栓

绿

17

p3

螺丝刀

14

p4

螺丝刀

14

p5

凸轮

40

p6

齿轮

30

j

jno

jname

city

j1

三建

北京

j2

一汽

长春

j3

弹簧厂

天津

j4

造船厂

天津

j5

机车厂

唐山

j6

无线电厂

常州

j7

半导体厂

南京

spj

sno

pno

jno

qty

s1

p1

j1

200

s1

p1

j3

100

s1

p1

j4

700

s1

p2

j2

100

s2

p3

j1

400

s2

p3

j2

200

s2

p3

j4

500

s2

p3

j5

400

s2

p5

j1

400

s3

p1

j1

200

s3

p3

j1

200

s4

p5

j1

100

s4

p6

j3

300

s4

p6

j4

200

s5

p2

j4

100

s5

p3

j1

200

s5

p6

j2

200

s5

p6

j4

500

      (3)用sql语句完成以下操作:

 给s表增加sphonesmanager两个属性列,分别用来存放供应商的联系电话和联系人。

alter table s add sphone varchar2(20);

alter table s add smanager varchar2(40);

 删除jname属性列取值唯一的约束。

alter table j drop unique(jname);

 修改qty属性列的数据类型,使qty列数据的总长度不超过12,其中保留2位小数。

alter table spj modify  qty number(12,2);

 删除s表中的属性列smanager

alter table s drop column smanager;

⑤在p表的pname属性上创建Normal索引。

题意为建立普通索引,即不加unique等参数。 

create index ppname on p(pname);

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值