一个详细的设计表的案例
来源:互联网 发布:怎么刷网络课程 编辑:程序博客网 时间:2024/05/16 15:51
设有一个spj数据库,包括s,p,j,spj四个关系模式
S(sno,sname,status,city);供应商
P(pno,pname,color,weight);零件
J(jno,jname,city);项目
Spj(sno,pno,jno,qty);他们之间的联系
要求把下列操作的SQL语言记录下来:
A:数据库有数据文件、日志文件放在c:/spj文件夹中,spj_1.MDF,,spj_g1.log;
B:数据库文件的增长速度为5M
create database spj
on (name='spj_1',
filename='c:/spj_1.mdf',
size=1,
filegrowth=5)
log on
(name='spj_log',
filename='c:/spj_1.log'
)
C:使用SQL语言给前面的数据库增加一个数据文件和一个日志文件
alter database spj
add file(name='spj_2',
filename='c:/spj_2.mdf')
alter database spj
add log file
(name='spjlog_2',
filename='c:/spj_log2.log')
D:创建4个关系,必须给他们设定主码和外码
create table s
(sno bigint primary key identity(1,1),
sname char(10),
status char(8),
city char(10))
create table p
(pno char(4)primary key,
pname char(10),
color char(2),
weight smallint,
)
create table j
(jno char(6) primary key,
jname char(10),
city char(10),
)
create table spj
(sno bigint,pno char(4),jno char(6),qty bigint
foreign key (sno)references s(sno),
foreign key (pno)references p(pno),
foreign key (jno)references j(jno),)
约束
E:sno是8位的阿拉伯数字,编号从00000001,保持连续一次增加1。
pno前两位是英文大写字母,后两位是阿拉伯数字,
alter table p
add CONSTRAINT pno_c check (pno like '[a-z][a-z][0-9][0-9]')
jno 6位是阿拉伯数字。
alter table j
add CONSTRAINT jno_c check (jno like '[0-9][0-9][0-9][0-9][0-9][0-9]')
Color是“红、橙、黄、绿、青、蓝、紫”,
alter table p
add CONSTRAINT color_c check (color in('红','橙','黄','绿','青','蓝','紫'))
weight是介于10~1000之间的数字。
alter table p
add CONSTRAINT weight_c check (weight between 10 and 100)
City的默认值是“北京”。
create default city_d as '北京'
go
exec sp_bindefault 'city_d','s.[city]'
规则
F:给S增加一列credit,存放他的信用度。
alter table s
add credit char(2)
go
同时定义一个规则,保证信用度的取值范围是介于0~10的自然数。
create rule range as
@f>=1 and @f <=10
go
exec sp_bindrule 'range','s.[credit]'
G:给p增加一列grade,表示货物的等级(优、良、中、差)。同时定义一个默认,保证这一列的默认值是优。
alter table p
add grade char(2)
check (grade in( '优','良','中','差'))
go
create default grade_d as '优'
go
exec sp_bindefault 'grade_d','p.[grade]'
- 一个详细的设计表的案例
- 设计模式的一个小案例
- 数据库设计变化的一个案例
- 一个视觉交互设计失败的案例
- 一个视觉交互设计失败的案例
- 一个简要的详细设计的模版
- 一个表达式计算案例的设计和实现
- 一个DDD指导下的实体类设计案例
- 测试案例的设计
- iframe的一个案例
- Storm 的一个案例
- 一个小小的案例
- 数据库的多表查询(详细案例分析)
- 论坛的详细设计
- 详细设计的方法
- mongodb的group详细成功案例
- spring aop 使用的详细案例
- samba 的一个配置案例
- Excel XP受损文件的急救三招
- 它已经被别的用户以独占方式打开
- GCC-3.4.6源代码学习笔记(30)
- Android 模拟器上Marcket.
- JAVA 中的Web 服务规范:
- 一个详细的设计表的案例
- Studying note of GCC-3.4.6 source (30)
- 配置ASP.NET平台时遇到的“访问IIS元数据库失败”
- 选Ruby还是选Python
- 推荐使用tiles2
- 编辑器测试用
- 自旋锁
- Rockie's Android Porting Guide(1)——Build your own board
- 几个常用控件的练习总结(radioButtonList,MultiView,Adratator,Literal,Panel控件中动态添加文本框)