数据库实验三报告.doc_第1页
数据库实验三报告.doc_第2页
数据库实验三报告.doc_第3页
数据库实验三报告.doc_第4页
数据库实验三报告.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江西师范大学计算机信息工程学院学生实验报告专业_计算机科学与技术_ 姓名_燕悦_ 学号_1408091077_ 日期_ _ 课程名称数据库原理与技术实验室名称X4313实验名称创建和修改数据表指导教师朱明华成绩一实验目的(1)熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用。(2)要求学生熟练掌握CREATE TABLE、ALTER TABLE及DROP TABLE语句对数据表进行管理。二 实验原理和内容 实现表的创建和修改等工作及使用TSQL语句CREATE TABLE、ALTER TABLE及DROP TABLE来实现数据表的创建、修改及删除。三 实验步骤l 针对S_T数据库:1 创建student表,设置Sno为主键;在Sno列上创建核查约束,要求学号各个位上只能取数字字符;在Ssex列上创建核查约束,要求性别只能取“男”或“女”;在Sage 列上创建核查约束,要求学生的年龄只能在14至38之间。2 创建course表,设置列Cno为主键;在Cno列上创建核查约束,要求课程号只能取数字字符。3 创建sc表,设置主键为Sno与Cno的组合;在Grade列上创建核查约束,限定成绩只能在0-100。4 修改course表,在表中为Cpno列添加一外键约束Fk_Cpno,它参照了course表的主键Cno。5 修改sc表,在表中为Sno添加一外键约束Fk_Sno,它参照了student表中的主键Sno;为Cno添加外键约束Fk_Cno, 它参照了course表中的主键Cno。l 针对company数据库:1 在数据库company中创建以上五张表,并设置各表的主键。2 在销售主表sales中添加字段“发票号码” invoice_no,char(10),NOT NULL。3 添加外键约束:a) 在销售主表sales的业务员编号字段sale_id上添加外键约束,参照字段为员工表employee中的字段员工编号emp_no,约束名为FK_sale_id。b) 在销售主表sales的客户号字段cust_id上添加外键约束,参照字段为客户表customer中的字段客户号cust_id,约束名为FK_cust_id。c) 在销售明细表sale_item的订单编号字段order_no上添加外键约束,参照字段为销售主表sales中的字段订单编号order_no,约束名为FK_order_no。d) 在销售明细表sale_item的产品编号字段prod_id上添加外键约束,参照字段为产品名称表product中的产品编号字段prod_id,约束名为FK_prod_id。4 添加核查约束:a) 将员工表employee中的薪水字段salary的值限定在1000至10000间,约束名为CK_salary。b) 将员工表employee中的员工编号字段emp_no设定为以“E”字母开头, 后面跟5位数的编号,约束名为CK_emp_no。c) 将员工表employee中的性别字段设定这取值只能是“男”和“女”。约束名为CK_sex。d) 将销售主表sales中的发票号码字段invoice_no设定为以“I”字母开头,后面跟9位数的编号,约束名为CK_inno。5 为销售主表sales中的字段发票号码invoice_no设置为唯一约束,约束名为UN_inno。四 程序及运行结果(或实验数据记录及分析)l 针对S_T数据库:1)创建三个表:studentcoursesc。程序:useS_Tgo/*创建Student表*/createtablestudent(Snochar(5)primarykeynotnullcheck(Snolike0-90-90-90-90-9),Snamechar(20)notnull,Ssexchar(2)notnullcheck(Ssexin(男,女),Sagesmallintnotnullcheck(Sagebetween14and38),Sdeptchar(20)notnull);/*创建Course表*/createtablecourse(Cnochar(4)notnullprimarykeycheck(Cnolike0-90-90-90-9),Cnamechar(40)notnull,Cpnochar(4),Ccreditsmallintnotnull);/*创建SC表*/createtablesc(Snochar(5)notnull,Cnochar(4)notnull,Gradesmallintcheck(Gradebetween0and100),primarykey(Sno,Cno);执行结果: 2)对course表进行修改。程序:/*修改course表,为Cpno列添加一个外键约束*/ altertablecourseaddforeignkey(Cpno)referencescourse(Cno);执行结果:3)修改sc表,为Sno和Cno列添加一个外键约束/*修改sc表,为Sno和Cno列添加一个外键约束*/altertablescaddforeignkey(Sno)referencesstudent(Sno);altertablescaddforeignkey(Cno)referencescourse(Cno);l 针对company数据库: 1)为company设置五张表:人事表employee、客户表customer、销售表sales、销售明细表sale_item、产品表product。 程序: /*为company创建employee表*/ create table employee(emp_no char(5) not null primary key check(emp_no like E-F0-90-90-90-9),emp_name char(10) not null,emp_sex char(1) not null check(emp_sex in (m,f),emp_dept char(4) not null,emp_title char(6) not null,emp_date_hired datetime not null,emp_birthday datetime null,emp_salary int not null check (emp_salary between 60000 and 80000),emp_phone varchar (20) not null,emp_add varchar(50) not null,)/*创建customer表*/ create table customer(cust_id char(5) not null primary key check(cust_id like E-F0-90-90-90-9),cust_name varchar(20) not null,cust_addr varchar(40) not null,cust_tel_no varchar(20) not null,cust_zip char(6) not null,) /*创建表sales*/ create table sales(order_no int not null primary key check(order_no like E-F0-90-90-90-9),cust_id char(5) not null,sale_id char(5) not null,tot_amt numeric(9,2) not null,order_date datetime not null,)/*创建表sale_item*/create table sale_item(order_no int not null check(order_no like E-F0-90-90-90-9),prod_id char(5) not null check(prod_id like E-F0-90-90-90-9),qty int not null,unit_price numeric(7,2) not null,order_date datetime null,primary key(order_no,prod_id)/*创建表product*/create table product(prod_id char(5) not null primary key check(prod_id like E-F0-90-90-90-9),prod_name varchar(20) not null,)执行结果:2)sales中添加字段“发票号码”invoice_no,char(10),NOTNULL。/*sales中添加字段“发票号码”*/altertablesalesaddinvoice_nochar(10)notnull;3)添加外键约束程序:/*为sales表中的sales_id、cust_id添加外键约束*/altertablesalesaddforeignkey(sale_id)referencesemployee(emp_no),foreignkey(cust_id)referencescustomer(cust_id);执行结果:/*为sale_item表中的order_no、prod_id添加外键约束*/altertablesale_itemaddforeignkey(order_no)referencessales(order_no),foreignkey(prod_id)referencesproduct(prod_id); 4)添加核查约束:/*将employee中的salary值限定在至之间*/altertableemployeeaddcheck(salarybetween1000and10000);/*将employee中的emp_no设定为以“E开头,后面跟位数字*/ altertableemployeeaddcheck(emp_nolikeE0-90-90-90-9);/*将employee中的sex值限定取“男”和“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论