资源描述:
《数据库SQL语言编程实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二SQL语言编程实验(一)StructuredQueryLanguage,简称SQL,是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制4个方面,是一个通用的、功能极强的关系数据库语言,目前已成为关系数据库的标准语言。实验目的:使用数据库管理系统SQLServer的查询分析器,巩固学习SQL语言。教学课时数为6。实验内容:熟练查询分析器的各种操作,使用SQL语言进行编程设计。实验要求:能够熟练使用查询分析器,掌握SQL中的DDL、DML、DCL等各种语言,完成各种编程练习.理解视图的概念,能够按照要求设计数据库的外模式.实验操作题
2、目(1)使用DDL语言定义基本表.有一个员工项目数据库,现有四张表,分别是部门(DEPT),员工(EMP),项目(PROJ)以及员工参与项目的情况表(EP)。其中一个员工属于一个部门,一个部门有多个员工;一个员工可同时参加多个项目,一个项目有多个员工一起开发。用SQL语言中的DDL语言建立这四张表,表的主码,以及设计并建立表的外码和索引,其中周期部门表(DEPT)上按部门名称设计升序唯一索引,在员工表(EMP)上按照部门设计聚簇索引,按照职工工资降序索引,在员工项目表上按员工号升序、项目号降序建立唯一索引。DEPTDNO(部门号)DNAME(部门名)CNA
3、ME(领导)D1厂部1001D2工程部1003D3技术部1004D4质监部1005。。。。。。。。。PROJPNO(项目编号)PNAME(项目名称)PCITY(项目所在城市)J1Y天津J2W上海J3X1宁波J4S北京。。。。。。。。。EMPENO(员工号)ENAME(姓名)ESEX(性别)ESALARY(工资)DNO(所在部门)1001李月男1200D11002魏兰女1440D31003赵希青男1360D21004张明男1600D3。。。。。。。。。。。。。。。EPENO(员工号)PNO(项目号)RESPONSE(任务)1001J1总工1001J3联系人1
4、002J1技术负责1002J2技术监督1003J1现场管理1004J3主管。。。。。。。表设计:关系名属性的名字属性含义域是否主码是否外码DEPTDNO部门号Char(20)yDNAME部门名Char(20)CNAME领导(null)Char(20)yPROJPNO项目编号Char(20)yPNAME项目名称Char(20)PCITY项目所在城市Char(20)EMPENO员工号Char(20)yENAME姓名Char(10)ESEX性别Char(10)ESALARY工资intDNO所在部门Char(20)yEPENO员工号Char(20)Y+yPNO项目
5、号Char(20)Y+yRESPONSE任务Char(20)(1)创建表:createtableDEPT(DNOchar(20)notnull,DNAMEchar(20)notnull,CNAMEchar(20),constraintPK_DEPTprimarykey(DNO))createtablePROJ(PNOchar(20)notnull,PNAMEchar(20)notnull,PCITYchar(20)notnull,constraintPK_PROJprimarykey(PNO))createtableEMP(ENOchar(20)notnu
6、ll,ENAMEchar(10)notnull,ESEXchar(10)notnull,ESALARYint,DNOchar(20)notnull,constraintPK_EMPprimarykey(ENO),constraintfk_EMP_DNOforeignkey(DNO)referencesDEPT(DNO))createtableEP(ENOchar(20)notnull,PNOchar(20)notnull,RESPONSEchar(20),constraintPK_EPprimarykey(ENO,PNO),constraintfk_EP_
7、ENOforeignkey(ENO)referencesEMP(ENO),constraintfk_EP_PNOforeignkey(PNO)referencesPROJ(PNO))(2)使用DML语言输入以上表中的数据(INSERT,UPDATE和DELETE语句)insertintoDEPT(DNO,DNAME)VALUES('D1','厂部')insertintoDEPT(DNO,DNAME)VALUES('D2','工程部')insertintoDEPT(DNO,DNAME)VALUES('D3','技术部')insertintoDEPT(DNO,
8、DNAME)VALUES('D4','质监部')insertint