南邮--数据库实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1数据库实验报告(2012/2013学年第二学期)学号姓名指导教师成绩2一、数据库原理第一次实验【一】实验内容:数据库表的建立与管理【二】、实验目的:学习数据库及表的建立、删除、更新等操作。注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。【三】、实验题目及其解答:1、创建一名为‘test’的数据库;Solution:CREATEDATABASEtest2、在“test”数据库中新建一张部门表“部门”,输入列:name(char,10位),ID(char,7位),manager(char,10位)各列均不能为空值。Solution:usetestCREATETABLE部门(IDCHAR(7)NOTNULL,nameCHAR(10)NOTNULL,managerCHAR(10)NOTNULL)结果:3、在“test”数据库中新建一张员工表,命名为“员工”。在表中输入以下各列:name(char,10位),personID(char,7位),Sex(char,7位),birthday(datetime),deptID(char,7位),各列均不能为空值。Solution:CREATETABLE员工(nameCHAR(10)NOTNULL,personIDCHAR(7)NOTNULL,sexCHAR(7)NOTNULL,birthdaydatetimeNOTNULL,deptIDCHAR(7)NOTNULL)结果:4、修改表的操作练习:1)将‘部门’表中的列ID设为主键;2)将‘员工’表中personID设为主键,并将deptID设置为外键,关联到‘部门’表上的‘ID’列;3)在‘部门’表中,添加列quantity(char,5);34)删除‘员工’表中的列‘sex’;5)修改‘员工’表中列name为(varchar,8)Solution:ALTERTABLE部门ADDCONSTRAINTC1PRIMARYKEY(ID)ALTERTABLE员工ADDCONSTRAINTC2PRIMARYKEY(personID)ALTERTABLE员工ADDCONSTRAINTC3FOREIGNKEY(deptID)REFERENCES部门(ID)ALTERTABLE部门ADDquantityCHAR(5)ALTERTABLE员工DROPCOLUMNsexALTERTABLE员工ALTERCOLUMNnameVARCHAR(8)结果:5、1)在数据库test中新建表scores,输入以下列:ID(char,8位)主键,C语言numeric(3,1),IT英语numeric(3,1),数据库numeric(3,1),软件基础numeric(3,1),平均成绩。四门学科都不能为空,并且平均成绩为四门学科的平均分;2)为表scores中的四项成绩添加default约束:使其默认值为0;3)为表scores中的四项成绩添加check约束:是每项成绩在0到100之间。Solution:CREATETABLEscores(IDCHAR(8)PRIMARYKEYNOTNULL,C语言NUMERIC(3,1)NOTNULL,IT英语NUMERIC(3,1)NOTNULL,数据库NUMERIC(3,1)NOTNULL,软件基础NUMERIC(3,1)NOTNULL,平均成绩AS(C语言+IT英语+数据库+软件基础)/4)ALTERTABLEscoresADDCONSTRAINTC语言DEFAULT'0'FORC语言ALTERTABLEscoresADDCONSTRAINTIT英语DEFAULT'0'FORIT英语ALTERTABLEscoresADDCONSTRAINT数据库DEFAULT'0'FOR数据库ALTERTABLEscoresADDCONSTRAINT软件基础DEFAULT'0'FOR软件基础ALTERTABLEscoresADDCONSTRAINTCK1CHECK(C语言=0ANDC语言=100);ALTERTABLEscoresADDCONSTRAINTCK2CHECK(IT英语=0ANDIT英语=100);ALTERTABLEscoresADDCONSTRAINTCK3CHECK(数据库=0AND数据库=100);ALTERTABLEscoresADDCONSTRAINTCK4CHECK(软件基础=0AND软件基础=100);结果:6、删除department表,并删除数据库test。Solution:DROPTable部门;DROPDATABASEtest;4【四】实验一完整的代码:CREATEDATABASEtestusetestCREATETABLE部门(IDCHAR(7)NOTNULL,nameCHAR(10)NOTNULL,managerCHAR(10)NOTNULL)CREATETABLE员工(nameCHAR(10)NOTNULL,personIDCHAR(7)NOTNULL,sexCHAR(7)NOTNULL,birthdaydatetimeNOTNULL,deptIDCHAR(7)NOTNULL)ALTERTABLE部门ADDCONSTRAINTC1PRIMARYKEY(ID)ALTERTABLE员工ADDCONSTRAINTC2PRIMARYKEY(personID)ALTERTABLE员工ADDCONSTRAINTC3FOREIGNKEY(deptID)REFERENCES部门(ID)ALTERTABLE部门ADDquantityCHAR(5)ALTERTABLE员工DROPCOLUMNsexALTERTABLE员工ALTERCOLUMNnameVARCHAR(8)CREATETABLEscores(IDCHAR(8)PRIMARYKEYNOTNULL,C语言NUMERIC(3,1)NOTNULL,IT英语NUMERIC(3,1)NOTNULL,数据库NUMERIC(3,1)NOTNULL,软件基础NUMERIC(3,1)NOTNULL,平均成绩AS(C语言+IT英语+数据库+软件基础)/4)ALTERTABLEscoresADDCONSTRAINTC语言DEFAULT'0'FORC语言ALTERTABLEscoresADDCONSTRAINTIT英语DEFAULT'0'FORIT英语ALTERTABLEscoresADDCONSTRAINT数据库DEFAULT'0'FOR数据库ALTERTABLEscoresADDCONSTRAINT软件基础DEFAULT'0'FOR软件基础ALTERTABLEscoresADDCONSTRAINTCK1CHECK(C语言=0ANDC语言=100);ALTERTABLEscoresADDCONSTRAINTCK2CHECK(IT英语=0ANDIT英语=100);ALTERTABLEscoresADDCONSTRAINTCK3CHECK(数据库=0AND数据库=100);ALTERTABLEscoresADDCONSTRAINTCK4CHECK(软件基础=0AND软件基础=100);DROPTable部门;DROPDATABASEtest;5二、数据库原理第二次实验【一】、实验内容:查询技术的应用【二】、实验目的:1、掌握SELECT语句的基本语法2、掌握连接查询的表示3、掌握数据汇总的方法4、掌握SELECT语句的GROUPBY子句的作用和使用方法5、掌握SELECT语句的ORDERBY子句的作用和使用方法【三】、实验内容1、创建员工管理数据库(compy)及相应的四张表:Employees:员工信息表Departments:部门信息表Salary:员工薪水信息表Purchase:员工购物信息表各表中属性的定义可根据表中的记录加以设定,均以编号为主键,例如可定义Departments表结构如下:列名数据类型长度是否允许空值说明部门编号Char3否部门编号主键部门名称Char20否部门名称备注text16是备注向表中填入数据A、向Departments表中加入表2所示的记录编号部门名称备注1财务部null2人力资源部null3生产部null4采购部null5销售部nullSolution:CREATEDATABASEcompyusecompyCREATETABLEEmployees(编号CHAR(10)NOTNULLPRIMARYKEY,姓名VARCHAR(10)NOTNULL,地址CHAR(10)NOTNULL,邮编CHAR(6),电话CHAR(11)NOTNULL,6部门号CHAR(3)NOTNULL,出生日期DATENOTNULL,性别CHAR(2)NOTNULL);CREATETABLEDepartments(部门编号CHAR(3)NOTNULLPRIMARYKEY,部门名称CHAR(20)NOTNULL,备注text);CREATETABLESalary(编号CHAR(10)NOTNULLPRIMARYkey,收入intdefault0,支出intdefault0);CREATETABLEPurchase(员工编号CHAR(10)NOTNULL,商品CHAR(4)NOTNULL,购买数量CHAR(4)NOTNULL,PRIMARYKEY(员工编号,商品));INSERTINTODepartmentsVALUES('1','财务部',NULL);INSERTINTODepartmentsVALUES('2','人力资源部',NULL);INSERTINTODepartmentsVALUES('3','生产部',NULL);INSERTINTODepartmentsVALUES('4','采购部',NULL);INSERTINTODepartmentsVALUES('5','销售部',NULL);B、向Employees表中加入表1所示的记录编号姓名地址邮编电话部门号出生日期性别000001张晓强上海230027333355621956-1-11010008柳树合肥230027313135911966-1-11002001许静北京230026313235911972-1-11020018李可武汉230026369356411950-1-10102201张三丰西安123456363534651962-1-10102208白眉南京123456345896551955-1-11108991胡适昆明123456456892131969-1-11111006成吉思汗海口123456345814551964-1-11210678萧然成都123456345456531967-1-11Solution:INSERTINTOEmployeesVALUES('000001','张晓强','上海','230027','3333556','2','1956-1-1','1')INSERTINTOEmployeesVALUES('010008','柳树','合肥','230027','3131359','1','1966-1-1','1')INSERTINTOEmployeesVALUES('002001','许静','北京7','230026','3132359','1','1972-1-1','1')INSERTINTOEmployeesVALUES('020018','李可','武汉','230026','3693564','1','1950-1-1','0')INSERTINTOEmployeesVALUES('102201','张三丰','西安','123456','3635364','5','1962-1-1','0')INSERTINTOEmployeesVALUES('102208','白眉','南京','123456','3458965','5','1955-1-1','1')INSERTI

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功