《数据库原理》实验指导书1/43数据库原理实验指导书班级:信息本1001、1002、1003任课老师:李桂香《数据库原理》实验指导书2/43实验一建立数据库一、实验目的1.了解SQLServer2000;2.掌握SQLServer2000数据库的建立和删除。二、实验内容1.查看SQLServer2000的所有组件2.使用服务管理器3.使用企业管理器4.使用查询分析器5.在企业管理器中建立和删除数据库6.在查询分析器中建立和删除数据库三、实验步骤1.SQLServer2000的组件(9个)(1)查询分析器:执行输入的SQL语句并显示结果。(2)导入和导出数据:SQLServer2000与其他数据库系统进行相互转换。(3)服务管理器:管理SQLServer2000的各种服务。(4)服务器网络实用工具:管理和配置服务器网络。(5)客户端网络实用工具:管理和配置客户端网络。(6)联机丛书:帮助系统。(7)企业管理器:对本地或远程SQLServer2000服务器进行管理。(8)事件探查器:监视SQLServer2000执行的SQL语句。(9)在IIS中配置SQLXML支持:配置对IIS的XML的支持。2.服务管理器启动、暂停和停止指定服务器上的SQLServer2000的服务。(1)Server:指定服务器(2)Services:选择管理的4种服务①SQLServer:数据库引擎。②SQLServerAgent:自动化工作代理服务。《数据库原理》实验指导书3/43③MSSearch:文本查询服务④DistributedTransactionCoordinator:分布式事务处理控制器。(3)Start/Continue:启动选定的服务(4)Pause:暂停选定的服务(5)Stop:停止选定的服务。(6)“当启动OS时自动启动服务”复选框。3.企业管理器对本地或者远程服务器进行管理操作。1)管理服务器:(1)服务器服务:①Database:数据库(master、tempdb、msdb、model)②DataTransformationServices:转移③Management:管理(Agent、Backup、Activity、Plans、logs)④Replication:复制⑤Security:安全(logins、ServerRoles、LinkedServers、RemoteServers)⑥SupportServices:支持(DTC、Serch、Mail)⑦MetaDataServices:元数据(2)服务器分组:将多服务器分组(top组或sub组),默认组为SQLServerGroup(3)服务器注册:①选择服务器:自动检测,手工添加②选择验证方式:Windows验证和SQLServer验证③选择服务器组:AddSQLServerGroup或CreateNewtopGroup2)管理数据库(1)自动建立的数据库(6个)①master:主数据库,记录登录和用户,系统配置设置,其他数据库包括数据库文件的位置等。②tempdb:临时数据库。保存所有临时表和临时存储过程。③msdb:任务代理数据库。供SQLServerAgent服务完成自动化工作使用。④model:模板数据库。⑤Northwind:销售范例数据库《数据库原理》实验指导书4/43⑥pubs:书籍出版范例数据库。(2)数据库对象(10个)每个数据库中有10个目录结构,称之为数据库对象。①关系图(Digram)②表(Table)③视图(View)④存储过程(StoredProcedure)⑤用户(User)⑥角色(Role)⑦规则(Ruler)⑧默认(Default)⑨用户定义的数据类型(UserDefinedDataType)⑩用户定义的函数(Function)4.查询分析器执行输入的SQL语言。查询分析器是SQLServer的交互界面,接受SQL语句,检查语法错误,执行语句,返回执行结果。查询分析器是学习数据库操作的主要工具。5.企业管理器中建立和删除数据库(1)建立数据库打开企业管理器,在数据库上选择菜单NewDatabase或CreateDatabaseWizard,主要参数:数据库名:name主数据文件.mdf:每一个数据库对应的文件,包括逻辑名、物理位置、物理文件次数据文件.ndf:包括逻辑名、物理位置、物理文件日志文件.ldf:每个数据库必须至少有一个日志文件,包括逻辑名、物理位置、物理文件文件属性:自动扩展及其扩展方式和最大空间(2)删除数据库选择要删除的数据库,选择菜单上的删除命令。6.查询分析器中建立和删除数据库(1)建立数据库以mydb为例《数据库原理》实验指导书5/43CREATEDATABASEmydb--数据库名ON--数据文件(NAME=pmydb,--主数据文件FILENAME='D:\MSSQLDATA\mydb.mdf',--物理文件及位置SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB--初始大小、最大值、增长)LOGON--日志文件(NAME=logmydb,FILENAME='E:\MSSQLLOG\mydb.ldf',--物理文件及位置SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB--初始大小、最大值、增长);(2)删除数据库DROPDATABASEmydb;四、实验小结1.小结CREATEDATABASE语句的基本语法格式。《数据库原理》实验指导书6/43实验二建立表一、实验目的1.掌握表的建立和删除2.掌握完整性规则的设置二、实验内容1.建立dept表,并设置完整性规则2.建立student表,并设置完整性规则3.建立course表,并设置完整性规则4.建立study表,并设置完整性规则5.删除建立的4个表。三、实验步骤运行实验1的SQL语句。--实验1CREATEDATABASEmydbON(NAME=pmydb,FILENAME='D:\MSSQLDATA\mydb.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB)LOGON(NAME=logmydb,FILENAME='D:\MSSQLDATA\mydb.ldf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB)go1.建立dept表,并设置完整性规则(2+3)CREATETABLEdept(dnoCHAR(2),dnameVARCHAR(20)NOTNULL,CONSTRAINTdept_pkPRIMARYKEY(dno),CONSTRAINTdept_ukUNIQUE(dname));2.建立student表,并设置完整性规则(5+7)《数据库原理》实验指导书7/43CREATETABLEstudent(snoCHAR(2),snameVARCHAR(20)NOTNULL,ssexCHAR(2)NOTNULLCHECK(ssexin('男','女')),sageINTNOTNULL,dnoCHAR(2)NOTNULL,CONSTRAINTstudent_pkPRIMARYKEY(sno),CONSTRAINTstudent_fkFOREIGNKEY(dno)REFERENCESdept(dno)ONDELETECASCADEONUPDATECASCADE,);3.建立course表,并设置完整性规则(4+5)CREATETABLEcourse(cnoCHAR(2),cnameVARCHAR(20)NOTNULL,pcnoCHAR(2),creditINTNOTNULL,CONSTRAINTcourse_pkPRIMARYKEY(cno),CONSTRAINTcourse_fkFOREIGNKEY(pcno)REFERENCEScourse(cno),CONSTRAINTcourse_ukUNIQUE(cname),);4.建立study表,并设置完整性规则(3+3)CREATETABLEstudy(snoCHAR(2),cnoCHAR(2),gradeINT,CONSTRAINTstudy_pkPRIMARYKEY(sno,cno),CONSTRAINTstudy_fk_snoFOREIGNKEY(sno)REFERENCESstudent(sno),CONSTRAINTstudy_fk_cnoFOREIGNKEY(cno)REFERENCEScourse(cno));5.删除建立的4个表。《数据库原理》实验指导书8/43DROPTABLEdept;DROPTABLEstudent;DROPTABLEcourse;DROPTABLEstudy;思考:删表能顺利进行吗?为什么?四、实验小结1.小结CREATETABLE语句的基本语法格式。2.小结SQLServer2000的基本数据类型(20种)。3.小结SQLServer2000的完整性规则定义语法。《数据库原理》实验指导书9/43实验三数据更新一、实验目的1.掌握数据的增删改操作2.进一步掌握完整性规则二、实验内容1.对dept表进行数据增删改,并检查完整性规则2.对student表进行数据增删改,并检查完整性规则3.对course表进行数据增删改,并检查完整性规则4.对study表进行数据增删改,并检查完整性规则三、实验步骤运行实验1、2的SQL语句。--实验1CREATEDATABASEmydbON(NAME=pmydb,FILENAME='D:\MSSQLDATA\mydb.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB)LOGON(NAME=logmydb,FILENAME='D:\MSSQLDATA\mydb.ldf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB)go--实验2USEmydbCREATETABLEdept(dnoCHAR(2),dnameVARCHAR(20)NOTNULL,CONSTRAINTdept_pkPRIMARYKEY(dno),CONSTRAINTdept_ukUNIQUE(dname));CREATETABLEstudent(snoCHAR(2),snameVARCHAR(20)NOTNULL,《数据库原理》实验指导书10/43ssexCHAR(2)NOTNULLCHECK(ssexin('男','女')),sageINTNOTNULL,dnoCHAR(2)NOTNULL,CONSTRAINTstudent_pkPRIMARYKEY(sno),CONSTRAINTstudent_fkFOREIGNKEY(dno)REFERENCESdept(dno)ONDELETECASCADEONUPDATECASCADE);CREATETABLEcourse(cnoCHAR(2),cnameVARCHAR(20)NOTNULL,pcnoCHAR(2),creditINTNOTNULL,CONSTRAINTcourse_pkPRIMARYKEY(cno),CONSTRAINTcourse_fkFOREIGNKEY(pcno)REFERENCEScourse(cno),CONSTRAINTcourse_ukUNIQUE(cname));CREATETABLEstudy(snoCHAR(2),cnoCHAR(2),gradeINT,CONSTRAINTstudy_pkPRIMARYKEY(sno,cno),CONSTRAINTstudy_fk_snoFOREIGNKEY(sno)REFERENCESstudent(sno),CONSTRAINTstudy_fk_cnoFOREIGNKEY(cno)REFERENCEScourse(cno));1.对dept表进行数据增删改,并检查完整性规则完整性规则如下(3):dnoCHAR(2)PRIMARYKEYdnameVARCHAR(20