东北大学数据库实验报告2016
数据库实验实验报告
一、实验目的1. 熟悉数据库的基本概念和结构。
2. 掌握数据库的创建、修改和删除操作。
3. 熟练运用SQL语言进行数据的查询、插入、更新和删除操作。
4. 了解数据库的安全性和备份与恢复。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建数据库2. 创建表3. 插入数据4. 查询数据5. 更新数据6. 删除数据7. 修改表结构8. 删除表9. 数据库备份与恢复四、实验步骤1. 创建数据库(1)打开MySQL Workbench,连接到本地MySQL服务器。
(2)在“查询”窗口中输入以下SQL语句创建数据库:```sqlCREATE DATABASE student;```(3)执行SQL语句,创建名为student的数据库。
2. 创建表(1)在“查询”窗口中输入以下SQL语句创建学生表:```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```(2)执行SQL语句,创建名为student的表。
3. 插入数据(1)在“查询”窗口中输入以下SQL语句插入数据:```sqlINSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, '男'); INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, '男'); INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, '女'); ```(2)执行SQL语句,向student表中插入三条数据。
数据库实训报告实验总结
一、实验背景随着信息化时代的到来,数据库技术已成为当今社会的重要技术之一。
为了提高我国高校学生的实践能力,培养适应社会发展需求的数据库技术人才,我校组织了数据库实训课程。
通过本次实训,使学生们能够掌握数据库的基本原理、设计方法和应用技术,提高解决实际问题的能力。
二、实验目的1. 理解数据库的基本概念和原理;2. 掌握数据库的设计方法和步骤;3. 学会使用数据库管理系统进行数据库的创建、修改和查询;4. 培养学生分析问题、解决问题的能力;5. 提高学生的团队合作意识和沟通能力。
三、实验内容本次数据库实训主要包括以下内容:1. 数据库基本概念:数据库、数据库系统、数据库管理系统等;2. 关系数据库:关系模型、关系代数、关系运算等;3. SQL语言:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等;4. 数据库设计:需求分析、概念结构设计、逻辑结构设计、物理结构设计等;5. 数据库实现:使用数据库管理系统进行数据库的创建、修改和查询;6. 数据库应用:使用数据库技术解决实际问题。
四、实验过程1. 需求分析:根据实训要求,分析数据库所需解决的问题,确定数据库的功能和性能指标;2. 概念结构设计:根据需求分析,设计数据库的概念结构,包括实体、属性和实体间的关系;3. 逻辑结构设计:将概念结构转换为逻辑结构,包括确定表结构、字段类型、约束条件等;4. 物理结构设计:根据逻辑结构设计,确定数据库的物理存储方式,包括数据文件、索引文件等;5. 数据库创建:使用数据库管理系统创建数据库,包括创建表、索引、视图等;6. 数据操作:使用SQL语言进行数据插入、删除、更新和查询等操作;7. 数据库应用:使用数据库技术解决实际问题,如数据备份、恢复、安全等。
五、实验总结1. 理论与实践相结合:本次实训使我深刻认识到,数据库技术不仅包括理论知识,还需要将理论应用于实践,解决实际问题;2. 数据库设计的重要性:数据库设计是数据库应用的基础,一个良好的数据库设计可以提高数据库的性能和可用性;3. SQL语言的应用:SQL语言是数据库操作的核心,熟练掌握SQL语言可以提高数据库操作效率;4. 团队合作与沟通:在实训过程中,与团队成员密切配合,共同完成任务,提高了我的团队合作意识和沟通能力;5. 实验心得:通过本次实训,我对数据库技术有了更深入的了解,掌握了数据库的基本原理、设计方法和应用技术,为今后的学习和工作打下了坚实的基础。
数据库实验一实验报告总结
数据库实验一实验报告总结Introduction本实验主要目的是通过实际操作,了解和掌握数据库的基本概念、数据模型和SQL语言的应用。
通过实验,我深入学习了数据库的设计原理、规范化以及数据查询等知识,提高了自己的数据库操作技能。
实验内容本次实验主要包括以下几个方面的内容:1. 数据库的创建和连接在实验中,我使用MySQL数据库管理系统,首先进行了数据库的创建和连接。
通过学习相关知识,我了解到数据库是一个包含多个表的容器,而表则是由多个字段组成的数据结构。
因此,在创建数据库时,我首先设置了数据库的名称,并指定了字符集和排序规则等参数。
随后,通过命令行或图形界面工具,我成功连接了数据库。
2. 表的创建和插入数据在数据库中,表是用于组织和存储数据的基本单元。
为了进行数据的有效管理和查询,我根据需求创建了若干个表,并定义了表的字段和属性。
通过SQL语句,我插入了一些测试数据,验证了表的创建和数据插入的正确性。
3. 数据查询和更新数据库的一个重要功能就是查询和更新数据。
为了熟悉这些功能,我学习了SQL的基本语法和常用查询操作。
通过编写SQL语句,我实现了对数据库中的数据进行条件查询、排序和分组等操作,并对查询结果进行了更新。
这些操作帮助我更好地理解了数据库的查询逻辑和数据处理过程。
4. 数据库的备份和恢复为了防止数据丢失或数据库损坏,数据库的备份和恢复是非常重要的一项工作。
在本次实验中,我学习了如何对数据库进行备份和恢复操作。
通过命令行或者数据库管理工具,我成功备份了数据库,并在需要时将备份文件进行了恢复。
实验心得通过这次实验,我对数据库的概念和应用有了更深入的了解。
通过实际操作,我掌握了如何创建和连接数据库,以及如何创建表、插入数据、查询数据和更新数据。
同时,我也了解到了数据库备份和恢复的重要性。
在实践中,我发现了数据库设计的重要性。
合理的数据库设计可以提高数据的存储效率和查询效率,减少数据冗余。
合适的数据模型可以更好地反映实际业务需求,并提供更好的数据管理和查询功能。
数据库 实验报告
数据库设计与开发实验报告班级:姓名:学号:日期:成绩:指导老师:实验1:创建数据库一、实验目的:细致、深入理解并掌握教师课堂讲的基本知识、基本技能、基本概念和基本理论。
熟悉Office2010下的Access2010数据库软件,并创建一个关于学生信息的数据库。
二、实验内容及要求:1)签到:填写东北大学学生实验登记册2)整体熟悉Access 2000/Windows 7、网络软件环境。
3)分别用两种方式(空数据库、数据库向导)创建数据库,以自己的学号作为文件名存储该数据库文件。
4)在创建好的数据库里面分别建立数据表(学生信息表、教师信息表、课程表、成绩表),并建立各个表之间的关系。
5)将Access 2000中提供的例程数据库罗斯文数据库Northwind里的所有对象(数据表、查询、窗体、页、宏、模块等)全部导入到创建好的数据库中。
6)实验后撰写书面实验报告,写出实验内容、设计思路、实验任务、实验目的、实验步骤(相关内容应写出SQL语句)、实验总结和体会,下次实验时交给指导教师三、实验报告:1.实验内容与完成情况:(1)使用数据库向导创建数据库。
如图所示:(2)建立数据库并在数据库中建立学生信息表、教师信息表、课程表、成绩表以及各个表之间的关系。
a.使用表的设计视图创建学生信息表,主键为学号。
如图所示:b.通过输入数据创建教师信息表,主键为教师编号。
如图所示:c.使用表向导创建课程表,主键为课程编号。
如图所示:d.通过输入数据学生成绩表,主键为学号和课程编号。
如图所示:e.在创建完学生信息表、课程表、教师信息表和成绩表后建立这四张表之间的关系。
其中,学生信息表与成绩表是一对多的关系;课程表与成绩表是一对多的关系;教师信息表与课程表也是一对多的关系。
如图所示:2.出现的问题:(1)在通过输入数据创建学生成绩表时,在设置学号为主键后,不知道该如何再将课程编号也设置为主键。
(2)在使用设计视图创建学生信息表中,当对第五个字段“政治面貌”的数据类型设置查询向导时,按课件上的步骤不知该怎么设置,因为课件上缺少一个步骤。
东北大学秦皇岛分校数据库实验报告
数据库原理实验报告学号:姓名:提交日期:成绩:东北大学秦皇岛分校【实验内容】实验一:1、分别使用上述方法启动sqlserver的服务。
2、在企业管理器中创建一个数据库,要求如下:(1)数据库名称 Test1。
(2)主要数据文件:逻辑文件名为Test1_data1,物理文件名为Test1_data1.mdf,初始容量(3)为1MB,最大容量为10MB,增幅为1MB。
(4)次要数据文件:逻辑文件名为Test1_data2,物理文件名为Test1_data2.ndf,初始容量(5)为1MB,最大容量为10MB,增幅为1MB。
(6)事务日志文件:逻辑文件名为Test1_log1,物理文件名为Test1_log1.ldf,初始容量为1MB,最大容量为5MB,增幅为512KB。
3、在查询分析器中创建一个数据库,要求如下:(1)数据库名称 Test2。
(2)主要数据文件:逻辑文件名为Test2_data1,物理文件名为Test2_data1.mdf,初始容量为1MB,最大容量为10MB,增幅为1MB。
(3)次要数据文件:逻辑文件名为Test2_data2,物理文件名为Test2_data2.ndf,初始容量为1MB,最大容量为10MB,增幅为1MB。
(4)事务日志文件:逻辑文件名为Test2_log1,物理文件名为Test2_log1.ldf,初始容量为1MB,最大容量为5MB,增幅为1MB。
代码:create database teston primary (name=test_data,filename='d:\sqlex\test_data.mdf',size=1,maxsize=10,filegrowth=1),(name=test_data1,filename='d:\sqlex\test_data1.ndf',size=1,maxsize=10,filegrowth=1)log on(name=test_log,filename='d:\sqlex\test_log.ldf',size=1,maxsize=5,filegrowth=1)4、在查询分析器中按照下列要求修改第3题中创建的数据库test2 (1)主要数据文件的容量为2MB,最大容量为20MB,增幅为2MB。
东北大学数据库应用程序设计实践报告
课程编号:数据库应用程序设计实践报告1.问题定义银行代收费系统给电力公司开发的一套缴费系统,方便用户通过网银支付电费。
主要的用例图:图1银行代收费系统用例图根据用例图得出主要的业务需求:(1)抄表系统管理员把抄表记录录入系统,抄表记录包括当前电表数、抄表日期、抄表人等信息,根据抄表记录,系统自动计算每个计费设备当月的应收电费。
每个计费设备有唯一编号。
(2)查询用户随时查询欠费金额。
一个用户名下可能多个计费设备,查询欠费时,将所有计费设备欠费总和输出。
需要考虑设备的余额问题。
如果余额大于欠费,则欠费为0,更新余额,修改receivable 中flag标志。
(3)缴费在当月电费清单生成完毕后,用户可进行电费缴纳,缴纳金额可是任意金额。
系统将缴费金额存入设备余额中,再次查询则欠费应该减少。
(4)冲正用户在缴费过程中如果给其他用户缴费了,在当日0点前可以冲正,即把钱收回,放入余额,向payfee表中添加一个负数金额、相同银行流水号的记录。
并且修改设备余额,此时查询欠费应该有改变。
(5)对帐每个银行每日凌晨给电力公司的代缴费系统发送对账信息,代缴费系统记录对账结果,对账明细,对账异常信息进行存储。
错误信息为100银行没有此记录。
101企业没有此流水号.102银行企业金额不等。
2.数据库设计(1)ER图设计:自己设计的ER图:经过老师修正统一的ER图:(2)建表语句--CreatetablecreatetableBank(idnumber(4),namevarchar2(20),codechar(2));--Create/Recreateprimary,uniqueandforeignkeyconstraintsaltertableBankaddconstraintPK_BANK_IDprimarykey(ID);altertableBANKaddconstraintPK_BANK_CODEunique(CODE);--Createtablecreatetableclient(idnumber(4),namevarchar2(20),addressvarchar2(80),telvarchar2(20));--Create/Recreateprimary,uniqueandforeignkeyconstraintsaltertableclientaddconstraintPK_CLIENT_IDprimarykey(ID);--Createtablecreatetabledevice(deviceidnumber(4),clientidnumber(4),typechar(2),balancenumber(7,2));--Create/Recreateprimary,uniqueandforeignkeyconstraintsaltertabledeviceaddconstraintPK_DEVICE_DEVICEIDprimarykey(DEVICEID);altertabledeviceaddconstraintFK_DEVICE_CLIENTIDforeignkey(CLIENTID)referencesclient(ID);--Createtablecreatetableelectricity(idnumber(4),deviceidnumber(4),yearmonthchar(6),snumnumber(10));--Create/Recreateprimary,uniqueandforeignkeyconstraintsaltertableelectricityaddconstraintPK_ELECTRICITY_IDprimarykey(ID);altertableelectricityaddconstraintFK_ELECTRICITY_DEVICEIDforeignkey(DEVICEID) referencesdevice(DEVICEID);--CreatetablecreatetableRECEIVABLES(idnumber(4),yearmonthchar(6),deviceidnumber(4),basicfeenumber(7,2),flagchar(1));--Create/Recreateprimary,uniqueandforeignkeyconstraints altertableRECEIVABLESaddconstraintPK_RECEIVABLES_IDprimarykey(ID); altertableRECEIVABLESaddconstraintFK_RECEIVABLES_DEVICEIDforeignkey(DEVICEID) referencesdevice(DEVICEID);--CreatetablecreatetablePAYFEE(idnumber(4),deviceidnumber(4),paymoneynumber(7,2),paydatedate,bankcodechar(2),typechar(4),bankserialvarchar2(20));--Create/Recreateprimary,uniqueandforeignkeyconstraints altertablePAYFEEaddconstraintPK_PAYFEE_IDprimarykey(ID);altertablePAYFEEaddconstraintFK_PAYFEE_DEVICEIDforeignkey(DEVICEID) referencesdevice(DEVICEID);altertablePAYFEEaddconstraintFK_PAYFEE_BANKCODEforeignkey(BANKCODE) referencesBANK(CODE);--CreatetablecreatetableBANKRECORD(idnumber(4),payfeenumber(7,2),bankcodechar(2),bankserialvarchar2(20));--Create/Recreateprimary,uniqueandforeignkeyconstraints altertableBANKRECORDaddconstraintPK_BANKRECORD_IDprimarykey(ID); altertableBANKRECORDaddconstraintFK_BANKRECORD_BANKCODEforeignkey(BANKCODE) referencesBANK(CODE);--CreatetablecreatetableCHECKRESULT(idnumber(4),checkdatedate,bankcodechar(2),banktotalcountnumber(4),banktotalmoneynumber(10,2),ourtotalcountnumber(4),ourtotalmoneynumber(10,2));--Create/Recreateprimary,uniqueandforeignkeyconstraintsaltertablecHECKRESULTaddconstraintPK_CHECKRESULT_IDprimarykey(ID);altertableCHECKRESULTaddconstraintFK_CHECKRESULT_BANKCODEforeignkey(BANKCODE) referencesBANK(CODE);--Createtablecreatetablecheck_exception(idnumber(4),checkdatedate,bankcodechar(2),bankserialvarchar2(20),bankmoneynumber(7,2),ourmoneynumber(7,2),exceptiontypechar(3));--Create/Recreateprimary,uniqueandforeignkeyconstraintsaltertablecheck_exceptionaddconstraintPK_CHECKEXCEPTION_IDprimarykey(ID);altertableCHECK_EXCEPTIONaddconstraintFK_CHECKEXCEPTION_BANKCODEforeignkey(BANKCODE) referencesBANK(CODE);3.数据库端的系统实现1.十条sql语句(1)查询出所有欠费用户。
(完整版)数据库实验报告
数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。
东北大学空间数据库实验报告
空间数据库原理课程设计学院:资源与土木工程学院班级:测绘1402班姓名:古再丽努尔·喀日学号: ******** 指导老师:***2016 年 12 月实习成绩评定表目录一Access数据库实验报告实验一创建Access数据库 (4)实验二创建和使用表 (6)实验三查询设计 (10)实验四SQL语言 (12)实验五窗体设计 (14)实验六报表设计 (16)实验七宏 (17)实验八数据访问页设计 (17)实验九小型数据库管理系统的设计 (18)二空间数据库概念设计实验报告1.1实验要求 (20)1.2实验目的 (22)1.3 实验步骤 (25)1.4 实验内容 (28)1.5实验分析 (32)三基于ArcSDE与Postgresql的空间数据库实验报告1.1实验要求 (43)2.数据库的配置 (45)3.数据库的网络配置 (46)4.数据库的控制和管理 (48)5.ArcSDE的配置 (50)6.postgreSQL (53)空间数据库实验报告一,Access数据库实验报告实验要求Microsoft Access应用实验是Microsoft Access应用课程的重要组成部分,属于学科基础实验范畴,是与相关教学内容配合的实践性教学环节。
学生通过实验,验证课堂学习的知识,掌握数据库、数据表建立、查询、窗体、报表、宏以及数据访问页的方法,从而具有小型数据库管理系统的设计能力。
实验一创建Access数据库【实验目的】1.了解Access数据库窗口的基本组成2.熟悉Access的工作环境,达到熟练使用的目的3.学会查找7个数据库对象的相关帮助信息,为以后实验打下基础4.学会如何创建数据库文件【实验内容】1.启动Access数据库,在“d:\Access练习”文件夹中创建一个名为“图书管理.mdb”的空数据库文件。
2.启动Access数据库,使用“库存控制”向导创建一个名为“库存管理.mdb”的数据库文件,并保存在“d:\ Access练习”文件夹中。
数据库实验报告(全)
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验一数据库的定义实验1、实验目的熟练掌握和使用SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。
2、实验仪器(环境):计算机及SQL Server 20003、实验操作方法:依照实验指导书的内容进行实验。
4、报告内容:(1)通过企业管理器,建立图书借阅数据库;(2)在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,作者)读者(编号,姓名,单位,性别,电话)借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。
;(3)指出图书读者数据库各表的主码、外码和数据约束;(4)实验操作步骤和实验结果用截图显示出来。
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验二数据库的建立和维护实验1、实验目的熟练掌握使用SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
2、实验仪器(环境):计算机及SQL Server 20003、实验操作方法:依照实验指导书的内容进行实验。
4、报告内容:(1)以一条记录为例,写出用SQL表示的向图书表中插入、修改和删除数据的语句。
(2)用SQL实现在读者表中增加“借书册数”字段,统计借书者在1998年~1999年间所借书的册数,并将结果送入读者表中的借书册数字段的操作语句。
(3)写出操作的过程和操作结果(数据库中各表的数据)并用截图表示出来。
实验报告学院:计算机与信息学院专业:年级:姓名:学号:实验室号:计算机号:实验日期:年月日指导教师签字:成绩:报告退发(订正、重做)实验三数据库的简单查询和连接查询实验1、实验目的掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
数据库实验报告CR0106
南华大学船山学院实验报告(2016-2017学年度第二学期)课程名称数据库原理与技术实验名称姓名:学号:专业:软件工程班级:软件一班地点:8教606 教师:肖建田实验1 认识DBMS一.利用管理工具创建数据库、表和表间关系。
实验目的和注意事项实验目的:熟悉SQL Server Management Studio 基本操作,进一步理解数据库、表、表间关系的概念。
注意事项:创建数据库和数据表时应认真,如果出现错误,应相应地修改结构或删除。
实验内容(1) 利用SQL Server Management Studio 创建数据库,名称为【学生选课YYXXXX】。
其中YY为专业代号,计算机为JS,软件工程为RJ,网络为WL,数媒为SM,船山软件CR;XXXX为各位同学的学号中的最后四位(2) 在【学生选课YYXXXX】中建立数据表,表的定义如下所示。
学生YYXXXX(学号,姓名,性别,出生日期,院系名称,备注);课程YYXXXX(课程号,课程名,先行课,学分);选修YYXXXX(学号,课程号,分数)。
要求定义每张表的主码,为属性选择合适的数据类型,决定是否允许为空,为【性别】和【学分】属性定义默认值。
(3)定义表之间的关系。
(4)分别为表录入几行数据记录,同时练习数据的修改和删除操作实验步骤(1)启动SQL Server Management Studio,连接数据库服务器,进入SQL Server Management Studio主界面。
(2)右击【对象资源管理器】|【数据库】,选择快捷菜单中的【新建数据库】命令,弹出【新建数据库】窗口,在各属性页中设置新建数据库的属性,包括设置数据库逻辑名、所有者、文件的逻辑名、文件的物理名、文件类型、文件增长方式、文件的路径、文件组等属性,如图下所示(3)保存新建的数据库,该数据库的逻辑名为【学生选课XXXX】。
(4)在【对象资源管理器】中,右击【学生选课XXXX】|【表】,选择快捷菜单中的【新建表】命令,弹出表设计器对话框,新建“学生XXXX、课程XXXX、选修XXXX”3个表,如图所示(5)通过设计关系图,设置数据库的数据完整性。
数据库实验报告:实验五
数据库实验报告:实验五一、实验目的本次数据库实验五的主要目的是深入了解和掌握数据库的高级操作,包括存储过程的创建与使用、视图的定义和应用、以及事务处理的原理和实践。
通过这些实验内容,提高我们对数据库系统的综合运用能力,为解决实际的数据库管理问题打下坚实的基础。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,开发工具为 Navicat Premium 12。
操作系统为 Windows 10 专业版。
三、实验内容及步骤(一)存储过程的创建与使用1、创建一个名为`get_student_info` 的存储过程,用于根据学生学号查询学生的基本信息(包括学号、姓名、年龄、性别和专业)。
```sqlDELIMITER //CREATE PROCEDURE get_student_info(IN student_id INT)BEGINSELECT FROM students WHERE student_id = student_id;END //DELIMITER ;```2、调用上述存储过程,查询学号为 1001 的学生信息。
```sqlCALL get_student_info(1001);```(二)视图的定义和应用1、创建一个名为`student_grade_view` 的视图,用于显示学生的学号、姓名和平均成绩。
```sqlCREATE VIEW student_grade_view ASSELECT sstudent_id, sname, AVG(ggrade) AS average_gradeFROM students sJOIN grades g ON sstudent_id = gstudent_idGROUP BY sstudent_id, sname;```2、查询上述视图,获取所有学生的平均成绩信息。
```sqlSELECT FROM student_grade_view;```(三)事务处理1、开启一个事务,向学生表中插入一条新的学生记录(学号:1005,姓名:_____,年龄:20,性别:男,专业:计算机科学)。
数据库实验报告(实验六)(合集五篇)
数据库实验报告(实验六)(合集五篇)第一篇:数据库实验报告(实验六)实验六SQL语言数据查询语言DQL一、实验内容了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。
启动Navicat for MySQL,用SELECT语句进行简单查询操作,具体实验步骤如下:(实验步骤里的内容)1启动Navicat for MySQL,登录到本地数据库服务器后,连接到test数据库上。
用Create Table建立Student表、Course表和Choose表:2.用INSERT语句分别向Student表中插入3个元组、Course表中插入3个元组、Choose表中插入7个元组:3.用SELECT语句,查询计算机学院学生的学号和姓名。
4.用SELECT语句的between…and…表示查询条件,查询年龄在20~23岁的学生信息。
5.用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。
6.分别用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose表中C1课程的最高分、最低分、总分、平均分。
7.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。
8.用SELECT语句的连接查询,查询学生的学号、姓名、选修的课程名及成绩。
9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。
10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成绩。
11.用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生学号。
12.用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修了C3课程的学生学号,并取消重复的数据。
东北大学数据结构实践实验报告1
东北大学数据结构实践实验报告课程编号:B080109010数据结构课程设计总结报告东北大学软件学院第一章需求分析1.1建立主程序应用菜单选项主程序应用菜单选项包含所实现的所有功能,并且对选项采用数字标识进行选择,对其他错误输入可以进行判别,提示输入错误。
1.2导游线路图的创建级景区分布图的输出用邻接链表存储景点分布图的信息,(带权无向)图的邻接链表。
输出景区景点分布图(邻接矩阵)。
图中边的权值∞用32767表示。
1.3输出导游线路图景区旅游信息管理系统中制订旅游景点导游线路策略,首先通过遍历景点,给出一个入口景点,建立一个导游线路图,导游线路图用有向图表示。
1.4输出导游线路图中是否有回路景区旅游信息管理系统中,创建好导游路线图后,判断该图中是否存在回路。
1.5查找及排序●查找功能:可以根据用户输入的关键字进行景点的查找,关键字可以在景点名称也可以在景点介绍中。
查找成功则返回景点的相关简介,如果查找不成功请给予正确提示。
●排序功能:按景点欢迎度,景点的岔路数对景点进行排序并打印出来排序顺序。
1.6输出两个景点之间最短路径和最短距离求出两个景点间的最短路径和最短距离,并且输出道路修建规划图。
算法采用迪杰斯特拉算法。
1.7输出道路修建规划图道路建设首先要保证能连通所有景点,但又要花最小的代价。
1.8输出车辆的进出信息1.8.1具体需求:停车场是一个可以停放n辆汽车,且只有一个大门可供汽车进出。
汽车在停车场内按车辆到达时间的先后顺序,依次排列,若车场内已停满n辆车,后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应缴纳的费用和它在停车场内停留的时间。
东北大学数值分析课题2实验报告
数值分析实验报告东北大学一、实验要求1)建立矩阵求逆的算法公式2)编制下三角部分消元,上三角部分消元和对角元单位化等子程序3)应用结构程序设计编程出求n阶矩阵的逆矩阵的通用程序二、实验目的与意义1)通过该课题的实验,掌握求逆矩阵的程序设计方法2)学会利用矩阵求逆运算求解线性方程组的方法,提高数值方法的运用和编程的能力三、实验环境编译环境:Visual C++6.0。
编译语言:C++四、实验过程与分析:(1)求已知矩阵的逆:(以四阶为例)#include<stdio.h>#include <string.h>#define N 4int main(){ float a[N][N];float L[N][N],U[N][N],out[N][N], out1[N][N];float r[N][N],u[N][N];memset( a , 0 , sizeof(a));memset( L , 0 , sizeof(L));memset( U , 0 , sizeof(U));memset( r , 0 , sizeof(r));memset( u , 0 , sizeof(u));int n=N;int k,i,j;int flag=1;float s,t;////////////////////input a matrix////printf("\ninput A=");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);//////////////////figure the input matrix//////////////////////////printf("输入矩阵:\n");for(i=0;i<n;i++){for (j = 0; j < n; j++){printf("%lf ", a[i][j]);}printf("\n");}for(j=0;j<n;j++)a[0][j]=a[0][j]; //计算U矩阵的第一行for(i=1;i<n;i++)a[i][0]=a[i][0]/a[0][0]; //计算L矩阵的第1列for(k=1;k<n;k++) {for(j=k;j<n;j++) {s=0;for (i=0;i<k;i++)s=s+a[k][i]*a[i][j]; //累加a[k][j]=a[k][j]-s; //计算U矩阵的其他元素}for(i=k+1;i<n;i++){t=0;for(j=0;j<k;j++)t=t+a[i][j]*a[j][k]; //累加a[i][k]=(a[i][k]-t)/a[k][k]; //计算L矩阵的其他元素} }for(i=0;i<n;i++)for(j=0;j<n;j++) {if(i>j){ L[i][j]=a[i][j]; U[i][j]=0;}//如果i>j,说明行大于列,计算矩阵的下三角部分,得出L的值,U的//为0else {U[i][j]=a[i][j];if(i==j) L[i][j]=1; //否则如果i<j,说明行小于列,计算矩阵的上三角部分,得出U的//值,L的为0else L[i][j]=0; }} if(U[1][1]*U[2][2]*U[3][3]*U[4][4]==0){flag=0;printf("\n逆矩阵不存在");}if(flag==1){/////////////////////求L和U矩阵的逆for (i=0;i<n;i++) /*求矩阵U的逆*/{u[i][i]=1/U[i][i];//对角元素的值,直接取倒数for (k=i-1;k>=0;k--){s=0;for (j=k+1;j<=i;j++)s=s+U[k][j]*u[j][i];u[k][i]=-s/U[k][k];//迭代计算,按列倒序依次得到每一个值,}}for (i=0;i<n;i++) //求矩阵L的逆{r[i][i]=1; //对角元素的值,直接取倒数,这里为1for (k=i+1;k<n;k++){for (j=i;j<=k-1;j++)r[k][i]=r[k][i]-L[k][j]*r[j][i]; //迭代计算,按列顺序依次得到每一个值}} /////////////////绘制矩阵LU分解后的L和U矩阵///////////////////////printf("\nLU分解后L矩阵:");for(i=0;i<n;i++){ printf("\n");for(j=0;j<n;j++)printf(" %lf",L[i][j]); }printf("\nLU分解后U矩阵:");for(i=0;i<n;i++){ printf("\n");for(j=0;j<n;j++)printf(" %lf",U[i][j]); }printf("\n");////////绘制L和U矩阵的逆矩阵printf("\nL矩阵的逆矩阵:");for(i=0;i<n;i++){ printf("\n");for(j=0;j<n;j++)printf(" %lf",r[i][j]); }printf("\nU矩阵的逆矩阵:");for(i=0;i<n;i++){ printf("\n");for(j=0;j<n;j++)printf(" %lf",u[i][j]); }printf("\n");//验证将L和U相乘,得到原矩阵printf("\nL矩阵和U矩阵乘积\n");for(i=0;i<n;i++){for(j=0;j<n;j++){out[i][j]=0;} }for(i=0;i<n;i++) {for(j=0;j<n;j++){for(k=0;k<n;k++){out[i][j]+=L[i][k]*U[k][j];} } } for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%lf\t",out[i][j]); }printf("\r\n") }//////////将r和u相乘,得到逆矩阵printf("\n原矩阵的逆矩阵:\n");for(i=0;i<n;i++){for(j=0;j<n;j++){out1[i][j]=0;}}for(i=0;i<n;i++){for(j=0;j<n;j++) {for(k=0;k<n;k++){out1[i][j]+=u[i][k]*r[k][j];}} }for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%lf\t",out1[i][j]);}printf("\r\n");}}return 0; }(2)求N阶矩阵的逆:#include<iostream>#include<math.h>using namespace std;class JuZhen{private:double data[10][20];int size;public:void qiuNi();void setSize();void show();void chuShi();};void JuZhen::setSize(){int n;cout<<"请?输?入?矩?阵ó的?阶×:";cin>>n;size=n;}void JuZhen::show(){int i,j;for(i=0;i<size;i++){for(j=size;j<2*size;j++){cout.width(10);cout.flags (ios::right);cout<<data[i][j]<<" ";}cout<<endl;}cout<<"***********************************************"<<endl;cout<<endl;}void JuZhen::chuShi(){int i,j;for(i=0;i<size;i++){cout<<"请?输?入?"<<i+1<<"行D的?元a素?:";for(j=0;j<2*size;j++){if(j<size)cin>>data[i][j];else if(j==i+size)data[i][j]=1.0;elsedata[i][j]=0.0;}}}void JuZhen::qiuNi()int i,j,k;int maxI=0;for(i=1;i<size;i++){if(fabs(data[maxI][0])<fabs(data[i][0])) maxI=i;}if(maxI!=0){double temp;for(j=0;j<2*size;j++){temp=data[0][j];data[0][j]=data[maxI][j];data[maxI][j]=temp;}}double temp2;for(i=0;i<size;i++){if(data[i][i]!=0)temp2=1.0/data[i][i];else{cout<<"此?矩?阵ó无T逆?!"<<endl;return ;}for(j=0;j<2*size;j++)data[i][j]*=temp2;for(j=0;j<size;j++){if(j!=i){double temp3=data[j][i];for(k=0;k<2*size;k++)data[j][k]-=temp3*data[i][k];}}}cout<<"逆?矩?阵ó为a:阰"<<endl;show();}void main()while(1){JuZhen a;a.setSize();a.chuShi();a.qiuNi();}}五、实验结果与分析(1)(2)(3)(4)如图,输入矩阵的阶,然后依次输入矩阵中元素,即可得到逆矩阵,若该矩阵无逆,则输出“此矩阵无逆”。
数据库实验实验报告
数据库实验实验报告一、实验目的本次数据库实验的主要目的是通过实际操作和实践,深入理解数据库的基本概念、原理和技术,掌握数据库的设计、创建、管理和操作的方法和技能,提高解决实际问题的能力和综合素质。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,操作系统为Windows 10。
实验在个人计算机上进行,使用了 MySQL Workbench 作为数据库管理和开发工具。
三、实验内容(一)数据库设计1、需求分析根据给定的业务场景和需求,对数据库进行了详细的需求分析。
确定了需要存储的实体、属性和关系,绘制了 ER 图,为后续的数据库设计提供了清晰的蓝图。
2、概念结构设计基于需求分析的结果,进行了概念结构设计。
确定了实体、属性和实体之间的关系,使用 ER 图进行了直观的表示。
3、逻辑结构设计将概念结构设计转换为逻辑结构设计,确定了表的结构、字段的数据类型、主键和外键等。
创建了相应的数据表,并进行了完整性约束的定义。
(二)数据库创建1、使用 SQL 语句创建数据库和数据表在 MySQL 中,使用 CREATE DATABASE 语句创建了数据库,使用 CREATE TABLE 语句创建了数据表,并按照设计要求定义了表的结构和约束。
2、插入数据使用 INSERT INTO 语句向数据表中插入了大量的测试数据,以确保数据库的完整性和可用性。
(三)数据库管理1、数据查询使用 SELECT 语句进行了各种复杂的查询操作,包括单表查询、多表连接查询、子查询、聚合函数的使用等,掌握了不同查询方式的特点和应用场景。
2、数据更新使用 UPDATE 语句对数据表中的数据进行了更新操作,掌握了如何正确修改数据以满足业务需求。
3、数据删除使用 DELETE 语句对数据表中的数据进行了删除操作,了解了删除数据时需要注意的事项,以避免误删除重要数据。
(四)数据库优化1、索引优化在数据表的关键字段上创建了索引,提高了数据查询的效率。
数据库学习实验报告(3篇)
第1篇一、实验目的本次实验旨在通过实际操作,加深对数据库基础知识的理解,掌握数据库的基本操作,包括数据库的创建、表的设计、数据的插入、查询、修改和删除等。
通过本次实验,提高对SQL语言的实际应用能力,为后续深入学习数据库知识打下坚实的基础。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的创建与删除2. 表的设计与数据类型3. 数据的插入、查询、修改和删除4. 索引与视图的应用四、实验步骤1. 数据库的创建与删除(1)创建数据库```sqlCREATE DATABASE db_student;```(2)删除数据库```sqlDROP DATABASE db_student;```2. 表的设计与数据类型(1)创建学生表```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),age INT,gender ENUM('男', '女'),class VARCHAR(50));```(2)创建课程表```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),credit INT);```3. 数据的插入、查询、修改和删除(1)插入数据```sqlINSERT INTO student (name, age, gender, class) VALUES ('张三', 20, '男', '计算机科学与技术');INSERT INTO course (name, credit) VALUES ('高等数学', 4);```(2)查询数据```sql-- 查询所有学生信息SELECT FROM student;-- 查询年龄大于20岁的学生信息SELECT FROM student WHERE age > 20;-- 查询课程名称为“高等数学”的课程信息SELECT FROM course WHERE name = '高等数学';```(3)修改数据```sql-- 修改学生张三的年龄为21岁UPDATE student SET age = 21 WHERE name = '张三';-- 修改课程“高等数学”的学分UPDATE course SET credit = 5 WHERE name = '高等数学';```(4)删除数据```sql-- 删除学生张三的信息DELETE FROM student WHERE name = '张三';-- 删除课程“高等数学”的信息DELETE FROM course WHERE name = '高等数学'; ```4. 索引与视图的应用(1)创建索引```sql-- 创建学生表id字段的索引CREATE INDEX idx_student_id ON student(id); -- 创建课程表name字段的索引CREATE INDEX idx_course_name ON course(name); ```(2)创建视图```sql-- 创建包含学生姓名和课程名称的视图CREATE VIEW student_course_view ASSELECT , FROM studentJOIN course ON student.class = course.id;```(3)查询视图数据```sql-- 查询视图中的数据SELECT FROM student_course_view;```五、实验总结通过本次实验,我深入了解了数据库的基本操作,掌握了SQL语言的运用。
数据库实验报告(完整版)
数据库实验报告班级:07111103学号:**********姓名:***实验一:[实验内容1 创建和修改数据库]分别使用SQL Server Management Studio和Transact-SQL语句,按下列要求创建和修改用户数据库。
1.创建一个数据库,要求如下:(1)数据库名"testDB"。
(2)数据库中包含一个数据文件,逻辑文件名为testDB_data,磁盘文件名为testDB_data.mdf,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB。
(3)事务日志文件,逻辑文件名为TestDB_log, 磁盘文件名为TestDB_log.ldf,文件初始容量为5MB, 最大容量为10MB,文件容量递增值为1MB。
2.对该数据库做如下修改:(1)添加一个数据文件,逻辑文件名为TestDB2_data,实际文件为TestDB2_data.ndf,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB。
(2)将日志文件的最大容量增加为15MB,递增值改为2MB。
方法一:使用SQL Server Management Studio创建和修改数据库TestDB方法二:使用Transact-SQL语句创建和修改数据库TestDB方法一过于简单,暂不做讨论。
下面学习方法二。
首先,在sql sever 2008中单击新建查询。
然后键入下面的代码。
建立新的数据库。
1. 创建一个数据库,要求如下:2.对该数据库做如下修改:对刚刚的操作进行验证数据均已更新完毕。
[实验内容2 数据表的创建、修改和查询]1.熟悉有关数据表的创建和修改等工作,并了解主键、外键以及约束的创建和应用,熟练掌握使用SQL Server Management Studio和CREATE TABLE、ALTER TABLE等Transact-SQL语句对数据表的操作方法字段名数据类型字段长度注释项目编码char 10 主键名称varchar负责人编码char 10客户int开始日期datetime结束日期datetime员工数据表(Employee)字段名数据类型字段长度注释方法一:使用SQL Server Management Studio创建数据表并添加约束方法二:使用Transact-SQL语句创建数据表并添加约束2.向数据库TestDB中的两个数据表"项目数据表"和"员工数据表"中添加记录3.在查询分析器中书写Transact-SQL语句完成数据查询。
《数据库技术实验报告书》
2015-2016学年第二学期《Access数据库应用》实验指导书班级:14 大专软件学号:____________________ 姓名:____________________实验一Access 数据库结构与创建实验目的1. 掌握启动和退出Access 系统的常用方法。
2. 熟悉Access 的主窗口界面。
3. 会使用帮助系统。
4. 掌握数据库的两种创建方法。
5. 熟练操作打开/ 关闭数据库。
实验内容与步骤1. 启动数据库管理系统Access2010;2. 打开系统自带的“罗斯文”示例数据库,认识数据库的7 种对象,同时调出系统帮助文件,找到帮助中关于7 种对象的说明和解释,了解数据库的功能,理解数据库的总体结构;3. 用Access2010 创建一个空白数据库“银行管理系统” ;4. 用Access2010 中的向导创建一个“联系人”数据库表。
实训思考1. 文中介绍的启动和退出Access 的方法,是不是仅仅适合于Access?2. 有人说:“书本上介绍了如何使用Access,上课老师也讲授了方法,用不用帮助系统没有必要。
”上述观点对吗?3. 创建数据库的两种方法的优缺点分别是什么?各自用于什么情况?4. 打开数据库时,各种打开方式有何不同?分别用于什么环境?实验二Access数据表的创建实验目的1. 掌握数据库对象的管理方法。
2. 掌握表的各种创建方法。
实验内容与步骤1. 启动Access数据库管理系统。
2. 创建空白数据库“图书管理系统”,并保存在。
3. 使用向导创建表“读者类别”:①使用向导为“读者类别”表创建两个字段:类别编号和类别名称;②进入设计器,明确或修改表的“类别编号”字段的数据类型为“自动编:③向表中输入数据如下4. 通过输入数据创建表图书信息:①参照教材,通过输入数据创建表“图书信息”;②进入表设计器中,明确或修改表的结构为:5. 通过设计器创建表“读者信息”:①打开表设计器,按以下表结构,创建表“读者信息”:②在创建“学历/职称”字段时,请使用“查阅向导”。
数据库实验4-实验报告
数据库实验4-实验报告数据库实验 4 实验报告一、实验目的本次数据库实验 4 的主要目的是深入理解和掌握数据库中的某些关键概念和操作,通过实际的操作和实践,提高对数据库管理系统的应用能力,增强解决实际问题的技能。
二、实验环境本次实验使用的数据库管理系统为_____,运行环境为_____操作系统,使用的开发工具为_____。
三、实验内容与步骤(一)创建数据库首先,打开数据库管理系统,使用相应的命令或操作界面创建了一个名为“_____”的数据库。
在创建过程中,指定了数据库的一些基本属性,如字符集、排序规则等,以满足后续数据存储和处理的需求。
(二)创建数据表在创建好的数据库中,根据实验要求创建了若干个数据表。
例如,创建了一个名为“students”的表,用于存储学生的信息,包括学号(student_id)、姓名(student_name)、年龄(age)等字段。
创建表时,仔细定义了每个字段的数据类型、长度、是否允许为空等属性,以确保数据的准确性和完整性。
(三)数据插入接下来,向创建的数据表中插入了一些测试数据。
通过执行相应的插入语句,将学生的具体信息逐个插入到“students”表中。
在插入数据的过程中,特别注意了数据的格式和合法性,避免了因数据错误导致的插入失败。
(四)数据查询完成数据插入后,进行了各种查询操作。
使用了简单的查询语句,如“SELECT FROM students”来获取所有学生的信息。
还使用了条件查询,如“SELECT FROM students WHERE age >18”来获取年龄大于 18 岁的学生信息。
通过这些查询操作,熟悉了如何从数据库中获取所需的数据。
(五)数据更新对已有的数据进行了更新操作。
例如,通过执行“UPDATE students SET age = 20 WHERE student_id =1”的语句,将学号为 1 的学生的年龄更新为20 岁。
在更新数据时,谨慎操作,确保只更新了预期的记录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。
实验内容:具体包括如下三部分。
一、熟悉上机环境。
客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。
具体包括:1.了解SQL Server 环境。
鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。
点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。
因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。
2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。
如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。
3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。
二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。
1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式2.在数据库中定义这些关系模式,并向基本表中插入如下数据:CREATE table Students(Sno char(10) primary key,Sname char(20),Sage int,sdept char(20))create table Courses(Cno char(4),Cname char(40),Ccredit int,Ctime int,Cpno char(4),primary key (cno),Foreign key (Cpno) references Courses(Cno))create table SC(Sno char(10),Cno char(4),Grade int,primary key(Sno,Cno),foreign key(Sno) references Students(Sno),foreign key(Cno) references Courses(Cno))insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133902','陈二',22,'电子') insert into Students values ('20133903','陈三',23,'通信') insert into Students values ('20133904','陈四',20,'自动化') insert into Students values ('20133905','陈五',21,'软件') insert into Students values ('20133906','陈六',22,'数学') insert into Students values ('20133907','陈七',23,'物联网') insert into Students values ('20133908','陈八',20,'生物') insert into Students values ('20133909','陈九',21,'计算机') insert into Students values ('20133910','陈十',22,'机械')insert into Courses values ('0001','C语言',4,60,null) insert into Courses values ('0002','C++语言',4,60,null) insert into Courses values ('0003','JA V A',4,60,null) insert into Courses values ('0004','数据结构',4,60,null) insert into Courses values ('0005','高数',4,60,null) insert into Courses values ('0006','离散数学',4,60,null) insert into Courses values ('0007','计算原理',4,60,'0005') insert into Courses values ('0008','算法设计',4,60,null) insert into Courses values ('0009','文本',4,60,null) insert into Courses values ('0010','信息安全',4,60,'0009')insert into SC values ('20133901','0001',2) insert into SC values ('20133902','0001',3) insert into SC values ('20133903','0001',4) insert into SC values ('20133904','0003',3) insert into SC values ('20133905','0001',2) insert into SC values ('20133906','0001',1) insert into SC values ('20133907','0001',2) insert into SC values ('20133908','0001',3) insert into SC values ('20133909','0001',4) insert into SC values ('20133910','0002',3)3.插入相应的数据,试着插入重复的元组,结果如何?插入相同数据insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机') insert into Students values ('20133901','陈一',21,'计算机')不能插入重复数据4.在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。
alter table Students add check(Sage>=14 and Sage<=35)alter table Students add primary key(Sno)不能建立5.如果约束建立后,请试着插入重复元组,结果如何?试着插入重复元组,无法插入:实验(二): 熟练掌握SQL语言insert into Students values ('20133901','赵一',21,'计算机') insert into Students values ('95133902','赵二',18,'计算机') insert into Students values ('20133903','赵三',23,'通信') insert into Students values ('20133904','赵四',24,'数学') insert into Students values ('95133905','赵五',25,'软件') insert into Students values ('20133906','赵六',26,'数学') insert into Students values ('20133907','赵七',27,'物联网') insert into Students values ('95133908','赵八',28,'数学') insert into Students values ('20133909','老九',19,'计算机') insert into Students values ('95133910','老十',17,'计算机') insert into Students values ('95133941','老一',17,'物联网') insert into Students values ('95133943','老二',15,'物联网') insert into Courses values ('0000','C1',4,60,null)insert into Courses values ('0001','C语言',4,60,null)insert into Courses values ('0002','C++',4,60,null)insert into Courses values ('0003','JA V A',4,60,null)insert into Courses values ('0004','数据结构',4,60,null) insert into Courses values ('0005','高数',4,60,null)insert into Courses values ('0006','离散',4,60,null)insert into Courses values ('0007','数据库',4,60,'0005') insert into Courses values ('0008','算法设计',4,60,null) insert into Courses values ('0009','文本智能处理',4,60,null) insert into Courses values ('0010','信息安全',4,60,'0009') insert into Courses values ('0011','C2',4,60,'null')insert into SC values ('95133910','0000',70)insert into SC values ('95133910','0001',1)insert into SC values ('20133941','0001',2)insert into SC values ('95133902','0001',3)insert into SC values ('20133903','0001',4)insert into SC values ('20133904','0003',3)insert into SC values ('95133905','0001',2)insert into SC values ('20133906','0001',1)insert into SC values ('20133907','0001',2)insert into SC values ('95133908','0001',82)insert into SC values ('20133909','0000',90)insert into SC values ('20133909','0002',3)insert into SC values ('95133901','0011',3)insert into SC values ('95133901','0002',3)insert into SC values ('95133903','0000',3)insert into SC values ('95133903','0001',3)insert into SC values ('95133903','0002',3)insert into SC values ('95133903','0003',3)insert into SC values ('95133903','0004',3)insert into SC values ('95133903','0005',3)insert into SC values ('95133843','0006',3)insert into SC values ('95133903','0007',3)insert into SC values ('95133903','0008',3)insert into SC values ('95133903','0009',3)insert into SC values ('95133903','0010',3)insert into SC values ('95133903','0011',3)用SQL完成下列查询1.求选修了课程的学生的学号,要求:(1) 不使用distinct语句,消除重复元组,写出其SQL语句Select Sno from SC(2) 使用distinct语句,消除重复元组,写出其SQL语句select distinct Sno from SC(3) 如果该查询写成:select Students.Sno from Students, SC where Students.Sno=SC.Sno 请问该查询结果和上面哪个结果是相同的?和1相同2.求开设的课程号、课程名、学时和学分,要求对查询结果的列重新命名。