以一个简单的药品信息库为例:
题目:
1利用sql建立药品信息数据库,并定义以下基本表:
药品(编号,名称,价格,厂商编号)
处方(药品号,数量,医生编号)
医生 (编号,姓名,科室,职称)
定义主码、外码、和数量、价格的取值范围。
2在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。
首先,打开SQLSERVER,打开查询分析器
建库:
药品信息库.sql
Create database 药品信息库On primary(name='药品信息库.mdf',filename='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\药品信息库_data.mdf',size=3,maxsize=unlimited,filegrowth=1)Log on(name='药品信息库.ldf',filename='C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\药品信息库_log.ldf',size=1,maxsize=20,filegrowth=10%)
建表:
医生.sql
Create table 医生(编号 int PRIMARY KEY,姓名 nchar(10),科室 nchar(10),职称 nchar(10),);
药品.sql
Create table 药品(编号 int PRIMARY KEY,名称 nchar(10) UNIQUE ,价格 decimal(18,2)CHECK(价格>0),厂商编号 int,);
处方.sql
Create table 处方(药品号 int,数量 nchar(10)CHECK(数量>0) ,医生编号 int,FOREIGN KEY(医生编号) REFERENCES 医生(编号)FOREIGN KEY(药品号) REFERENCES 药品(编号));
创建视图:
右键视图,新建视图,依次添加医生表,处方表,药品表即可,效果图如下:
向表中插数据:
医生数据.sql
INSERT INTO 医生(编号,姓名,科室,职称)VALUES('03','王五','小儿科','主任医师 '),('01','张三','外科','主刀医师 '),('02','李四','内科','主治医师 '),('04','王二','眼科','副主任医师 '),('05','赵六','妇科','主任医师 ');select * from 医生
效果图:
药品数据.sql
INSERT INTO 药品(编号,名称,价格,厂商编号)VALUES('2001','板蓝根','20.00','1001'),('2002','小儿感冒颗粒','35.00','1002'),('','三九感冒灵','24.00','1003'),('','三九胃泰','45.00','1004'),('','金银花颗粒','42.00','1005');select * from 药品
效果图:
处方数据.sql
INSERT INTO 处方(药品号,数量,医生编号)VALUES('2001','1','01'),('2001','5','02'),('2002','2','02'),('','7','03'),('','4','04'),('','3','05');select * from 处方
效果图:
注意:建表的时候各表的主外键选择,依赖关系是最基本最重要的
结语
如果你喜欢我写的文章,欢迎来踩我个人搭建的博客~
ChengNing’s Blog