当前位置:文档之家› 数据库实验《实验3》

数据库实验《实验3》

2

数据库原理实验3数据更新和创建登录及用户

课程名称数据库原理 实验序号 3 实验项目数据更新和创建登录及用户 实验地点 实验学时实验类型验证性 指导教师实验员 专业班级 学号姓名 年月日 成绩:A 教师该学生的实验报告格式正确,步骤详细,内容丰富,具体地展示了自己的思考过程,实验结果正确,很好地把课堂所学知识应用于实际操作中。

4)DBMs把授权或撤销权限的结果存入数据字典。 5)当用户提出操作请求时,DBMS进行授权情况检查,以决定是否执行用户的操作请求。 三、实验软硬件环境 装有Microsoft SQL Server 2008 Management Studio的电脑 四、实验过程(实验步骤、记录、数据、分析) 1、实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验。下面分别为depts表、students表、courses表、reports表。 2、数据的更新:插入数据、修改数据、删除的数据 3、视图的定义、查询和更新 4、创建用户、授权和收回权限

五、测试/调试及实验结果分析 1、数据更新 (1)插入数据 1.1数据库中已有一个关系History_Student,其关系模式 与Students完全一样,试将关系Students中的所有元组 插入到关系History_Student中去,其SQL命令为: insert into history_student select* from students 运行结果如右图,首先要新建一个空的名为history_student的表,然如执行查询命令。 (2)修改数据 2.1将学号为“S03”的学生年龄改为22岁,即要修改满足条件的一个元组的属性值。其命令为update students set sage=22 where sno='s03' 执行select * from students,运行结果如右图 2.2将所有学生的年龄增加1岁。即要修改多个元组的 值。其命令为 update students set sage=1+sage 执行上述命令后,执行select * from students,运行结果 如右图,与上一题对比,每个学生的年龄都增加了1 岁。 2.3将数学系所有学生的成绩置零.其命令为 update reports set grade=0 where 'd01'= (select dno from students where students.sno=reports.sno ) 执行上述命令后,执行select * from reports,运行结果如右图 (3)删除数据

数据库原理实验报告-实验三-数据完整性与安全性控制

《数据库原理》实验报告 题目:实验三 数据完整性与安全性控制学号班级日期 2016.10.18 一、实验容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令 -->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存 (3)唯一约束:为(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’ 命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。

(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存

(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其 检查条件为:成绩应该在0-100之间。

(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。

数据库原理实验3

实验名称:多表查询操作 实验器材:PC,Windows 2000,SQL Server 2000 实验目的: 1.掌握在查询分析器里使用SELECT语句进行数据库多表查询操作; 2.对于在执行SQL脚本程序时遇到的错误,要能判断并修正。 实验内容: 1.在实验1所建数据库和数据表的基础上,增加student_course表(学生_课程信息表),对数据表进行多表基本查询; 2.记录相关查询结果(如有查询结果,只要求写出最多前两条记录即可)。 实验步骤: 在查询分析器中输入SQL脚本程序程序,进行分析,有错误进行调试。调试通过再执行。 1.使用where子句进行SQL Server的连接查询,从student和student_course 表中检索出学生的学号、姓名、课程号、成绩。 SQL脚本程序: Use student Go select student.student_id,student.student_name,student_course.course_id, student_course.grade from student,student_course where student.student_id=student_course.student_id 执行结果: ………………………….. ………………………….. 2.使用union子句将student表中的学号、姓名和teacher表中的教师编号、教师姓名组合在一个结果集中,并以“编号”、“姓名”作为结果集的列标题。SQL脚本程序: select student_id as '编号',student_name as '姓名' from student union select teacher_id,teacher_name from teacher teacher_id char 10 NOT NULL 是教师编号teacher_name char 20 NOT NULL 教师姓名teacher_sex char 2 NOT NULL 教师性别teacher_age tinyint NOT NULL 教师年龄teacher_title char12 NOT NULL 教师职称 course_id char 10 NOT NULL 是课程编号student_id char 11 NOT NULL 是学生学号grade tinyint NOT NULL 成绩 credit tinyint NOT NULL 课程学分

数据库原理-实验3-数据库的安全性

一、实验目的 1.掌握Windows 认证模式下数据库用户帐号的建立与取消方法; 2.掌握混合模式下数据库用户帐号的建立与取消方法; 3.掌握数据库用户权限的设置方法; 4.熟悉数据库数据库用户帐号的权限分配、回收等方法; 5.了解数据库角色的分类、作用及使用方法。 二、实验环境 SQL Server 企业版 三、实验学时 2学时 三、实验原理: 1. Microsoft? SQL Server?可以在两种安全(身份验证)模式: (1)Windows 身份验证模式(Windows 身份验证) Windows 身份验证模式使用户得以通过 Microsoft Windows NT? 4.0 或Windows? 2000 用户帐户进行连接。 (2)混合模式(Windows 身份验证和 SQL Server 身份验证) 混合模式使用户得以使用 Windows 身份验证或 SQL Server 身份验证与SQL Server 实例连接。在 Windows 身份验证模式或混合模式下,通过 Windows NT 4.0 或 Windows 2000 用户帐户连接的用户可以使用信任连接。

2. SQLServer的安全机制 (1)服务器级别所包含的安全对象主要有登录名、固定服务器角色等。其中登录名用于登录数据库服务器,而固定服务器角色用于给登录名赋予相应的服务器权限。SQL Server 中的登录名主要有两种:第一种是Windows登录名,第二种是SQL Server登录名。Windows登录名对应Windows验证模式,该验证模式所涉及的账户类型主要有Windows本地用户账户、Windows域用户账户、Windows组。SQL Server登录名对应SQL Server验证模式,在该验证模式下,能够使用的账户类型主要是SQL Server账户。 (2)数据库级别所包含的安全对象主要有用户、角色、应用程序角色、证书、对称密钥、非对称密钥、程序集、全文目录、DDL事件、架构等。用户安全对象是用来访问数据库的。如果某人只拥有登录名,而没有在相应的数据库中为其创建登录名所对应的用户,则该用户只能登录数据库服务器,而不能访问相应的数据库。 (3)架构级别所包含的安全对象主要有表、视图、函数、存储过程、类型、同义词、聚合函数等。架构的作用简单地说是将数据库中的所有对象分成不同的集合,这些集合没有交集,每一个集合就称为一个架构。数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,若不设定则系统默认架构为dbo。数据库用户只能对属于自己架构中的数据库对象执行相应的数据操作。至于操作的权限则由数据库角色所决定。一个数据库使用者,想要登录服务器上的SQL Server数据库,并对数据库中的表执行数据更新操作,则该使用者必须经过如下图所示的安全验证。 3.数据库的存取控制:授权和撤销权限 (1)GRANT 在安全系统中创建项目,使当前数据库中的用户得以处理当前数据库中的数据或执行特定的 Transact-SQL 语句 语法: 1)语句权限: GRANT { ALL | statement [ ,...n ] }

数据库实验3实验报告

数据库实验3实验报告 数据库实验3实验报告 一、引言 数据库实验3是本学期数据库课程的重要实验之一。在这个实验中,我们需要设计和实现一个数据库系统,并对其进行性能测试和优化。本实验报告将详细介绍我们的实验过程、实验结果以及对实验结果的分析和总结。 二、实验目的 本次实验的主要目的是让我们熟悉数据库系统的设计和实现过程,掌握数据库性能测试和优化的方法。通过这个实验,我们将学会如何使用SQL语言进行数据库操作,如何设计和建立数据库表,以及如何进行性能测试和优化。 三、实验环境 我们使用了MySQL数据库管理系统作为实验的工具。MySQL是一个开源的关系型数据库管理系统,具有高性能、稳定可靠等特点。我们在Windows操作系统上安装了MySQL,并使用了Navicat for MySQL作为数据库的可视化管理工具。 四、实验过程 1. 数据库设计 在开始实验之前,我们首先进行了数据库的设计。根据实验要求,我们需要设计一个学生信息管理系统。我们将学生信息分为学生基本信息和学生成绩两个部分,分别设计了两个表格,分别为"student"和"score"。 2. 数据库建立 在完成数据库设计后,我们使用SQL语言创建了两个表格,并添加了相应的字

段和约束。我们使用了适当的数据类型来存储学生的基本信息和成绩数据,并添加了主键和外键约束来保证数据的完整性和一致性。 3. 数据库操作 在数据库建立完成后,我们使用SQL语言进行了一系列的数据库操作。我们插入了大量的测试数据,并进行了查询、更新和删除等操作。通过这些操作,我们可以验证数据库的正确性和完整性,并测试数据库的性能。 五、实验结果 通过对数据库的操作和测试,我们获得了一些实验结果。首先,我们发现数据库的设计和建立是正确的,数据的插入和查询操作都能正常运行。其次,我们发现数据库的性能较好,查询操作的响应时间较短,满足了实际应用的需求。 六、实验分析 在对实验结果进行分析时,我们发现数据库的性能与数据量、索引和查询语句等因素密切相关。当数据量较大时,查询操作的响应时间会增加;当使用了适当的索引时,查询操作的性能会得到提升;当使用了复杂的查询语句时,查询操作的性能可能会下降。 七、实验总结 通过本次实验,我们学习了数据库的设计和实现方法,掌握了SQL语言的使用技巧,了解了数据库的性能测试和优化方法。同时,我们也发现了数据库设计和性能优化的重要性,这对于提高数据库系统的性能和可靠性具有重要意义。总之,数据库实验3是一次非常有意义的实验。通过这个实验,我们不仅学到了很多有关数据库的知识和技能,还提高了自己的实践能力和问题解决能力。希望在今后的学习和工作中,我们能够充分应用所学知识,为实际问题提供有

数据库实验报告3

实验项目列表 序号实验项目名称成绩指导教师 1 实验一数据库的定义实验(验证性) 2 实验二数据库的建立和维护实验(验 证性) 3 实验三数据库的查询实验(验证性) 4 实验四数据库的视图操作实验(验证 性) 5 实验五触发器、存储过程操作实验 (综合性)

实验项目名称 一、实验目的: 1、理解MySQL Server 5.1 服务器的安装过程和方法; 2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer。 二、实验环境: 硬件:PC 机 软件:Windows 操作系统、MySQL Server 5.1 三、实验内容和原理: 1、安装MySQL 以及相应的GUI 工具 2、用SQL 命令,建立学生-课程数据库基本表: 学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept); 课程Course (课程号Cno,课程名Cname,先行课Cpno ,学分Ccredit);选课SC(学号Sno,课程号Cno,成绩Grade); 要求: 1) 用SQL 命令建库、建表和建立表间联系。 2) 选择合适的数据类型。 3) 定义必要的索引、列级约束和表级约束. 四、实验步骤: 1、运行MySQL Query Browser,然后进入到GUI界面; 2、利用图形界面建立基础表: student表的信息: 字段名类型长度约束条件 Sno varchar 9 非空、主键 Sname varchar 20 Ssex varchar 2 Sage smallin t 6 Sdept varchar 20 course表的信息: 字段名类型长度约束条件 Cno varchar 4 非空、主键

数据库实验报告三 多表查询

实验三多表查询 【实验目的】 掌握多张表进行连接查询,主要包括连接查询、子查询和相关子查询等内容。 【实验内容】 在实验一的基础上完成下列查询。 (1)(连接查询) 求选修了课程001且成绩在70分以下或成绩在90分以上的学生的姓名、课程名称和成绩。 select sname,cname,score from student,score,course where student.sno=score.sno and https://www.doczj.com/doc/1c19320106.html,o=https://www.doczj.com/doc/1c19320106.html,o and https://www.doczj.com/doc/1c19320106.html,o='001' and score between 70 and 90; (2)(连接查询与表的别名) 求选修了课程001且成绩在70分以下或成绩在90分以上的学生的姓名、课程名称和成绩。 select sname,cname,score from student s1,score s2,course c1 where s1.sno=s2.sno and https://www.doczj.com/doc/1c19320106.html,o=https://www.doczj.com/doc/1c19320106.html,o and https://www.doczj.com/doc/1c19320106.html,o='001' and s2.SCORE between 70 and 90; (3)(自然连接查询) 求学生学号、姓名以及其选修课程的课程号和成绩。 select s1.sname,s1.sno,https://www.doczj.com/doc/1c19320106.html,o,s2.score from student s1,score s2 where s1.sno=s2.sno; (4)(自身连接查询) 求年龄大于'李丽' 的所有学生的姓名、系和年龄。 select s2.sname,s2.sdept,s2.sage from student s1,student s2 where s1.sname=' 李丽' and s2.sage>s1.sage; (4)(外部连接查询) 求未选修任何课程的学生的姓名。 select * from student a left join score b on a.sno=b.sno where b.sno is null; (6)(子查询) 求与‘李丽’年龄相同的学生的姓名和系。 select sname,sdept from student where sage=(select sage from student where sname=' 李丽'); (7)(子查询) 求选修了课程名为‘数据结构’的学生的学号和姓名。 select sno,sname from student where sno=(select sno from score where cno=(select cno from course where cname=' 数据结构')) ;

数据库实验报告3

数据库实验报告3 数据库实验报告3 引言: 数据库是现代信息管理的关键工具之一,它能够高效地存储和管理大量的数据。在数据库的设计和实验中,我们需要掌握各种操作和技巧,以便更好地利用数 据库来满足实际需求。本篇实验报告将介绍数据库实验的第三次实验内容和结果,以及我在实验过程中遇到的问题和解决方法。 实验目的: 本次实验的主要目的是学习和掌握数据库的索引和视图的创建和使用。索引和 视图是数据库中非常重要的组成部分,能够提高查询效率和数据管理的灵活性。通过本次实验,我将深入了解索引和视图的原理和应用,并能够熟练地创建和 使用它们。 实验内容: 本次实验主要包括索引的创建和使用,以及视图的创建和使用两个部分。在索 引的创建和使用部分,我首先学习了索引的原理和分类,了解了索引在数据库 中的作用和优势。然后,我通过实际操作在数据库中创建了几个索引,并进行 了查询测试,比较了有索引和无索引的查询效率差异。结果显示,有索引的查 询速度更快,能够大大提高查询效率。在视图的创建和使用部分,我学习了视 图的定义和使用方法,了解了视图在数据库中的应用场景。我通过实际操作创 建了几个视图,并进行了查询测试,验证了视图的灵活性和便利性。 实验结果: 通过本次实验,我成功地创建了多个索引和视图,并进行了相应的查询测试。

实验结果显示,有索引的查询速度明显快于无索引的查询,证明了索引在提高 查询效率方面的重要作用。另外,我也发现了视图在数据管理中的灵活性,通 过创建视图,我可以方便地对数据库中的数据进行筛选和组合,满足不同的查 询需求。 实验问题及解决方法: 在实验过程中,我遇到了一些问题,但通过查阅文献和请教老师,我成功地解 决了这些问题。首先,我在创建索引时遇到了命名冲突的问题,通过为每个索 引指定唯一的名称,我成功地解决了这个问题。其次,我在创建视图时遇到了 语法错误的问题,通过仔细检查语法和参考示例,我找到了错误并进行了修改。最后,我在查询测试中遇到了性能问题,通过优化查询语句和调整索引,我成 功地提高了查询的性能。 实验总结: 通过本次实验,我深入了解了数据库中索引和视图的原理和应用,掌握了它们 的创建和使用方法。索引和视图是数据库中非常重要的组成部分,能够提高查 询效率和数据管理的灵活性。在今后的数据库设计和实验中,我将更加注重索 引和视图的应用,以提高数据库的性能和管理效果。同时,我也意识到在实验 过程中遇到问题时,及时请教老师和查阅文献是解决问题的有效方法,希望今 后能够更加独立地解决实验中遇到的问题。 结语: 通过本次实验,我对数据库中索引和视图的原理和应用有了更深入的理解,并 掌握了它们的创建和使用方法。数据库的设计和实验是非常重要的,能够提高 数据管理和查询效率。在今后的学习和工作中,我将继续深入学习数据库的相

实验三数据查询

实验三数据查询 《实验三数据查询》实验说明 一、适用专业和课程:计算机专业《数据库》实验学时:2 二、实验目的: (1) 熟悉SQL Server 2005的交互式SQL工具; (2) 掌握SELECT语句,能够运用SELECT语句进行数据查询。 三、实验内容: 完成各类查询操作,包括单表查询,连接查询,嵌套查询,集合查询等。 四、实验要求: (1) 熟练掌握单表的各种查询操作,包括比较、确定范围、确定集合、字符匹配、 多重条件(逻辑运算)等谓词的用法; (2) 掌握别名的概念、掌握DISTINCT、ALL的使用; (3) 掌握空值的概念及查询判断条件的表达,了解查询时系统对NULL值的处理; (4) 掌握使用GROUP BY子句、HAVING子句、ORDER BY子句对查询结果进行排 序和分组; (5) 掌握SUM、A VG、COUNT、MAX、MIN等集合函数的用法; (6) 熟练掌握连接查询(自然连接、表内自连接、复合条件连接、多表连接); (7) 熟练掌握嵌套查询 通过实验验证在子查询的SELECT语句中不能使用ORDER BY子句; 体会相关与不相关子查询的不同; 掌握几类谓词的用法:IN,NOT IN 、带有比较运算符的子查询、带有ANY (SOME)或ALL谓词的查询、带有EXISTS 谓词的查询; (8) 熟练掌握集合查询;

(9) 保存上机过程中的所有SQL操作,SQL文件命名:姓名学号后四位-3.sql,如 xukai3112-3.sql; (10) 使用实验二建立的数据库完成上机练习题。 五、实验环境和仪器(软件、硬件): (1) 硬件环境:普通联网的PC机; (2) 操作系统:Windows 2000或者Windows XP; (3) 数据库管理系统:MS SQL Server 2005。 六、实验步骤(程序,流程等):(包含实验记录,提供的数据、图表等资料内容) (一)针对学生课程数据库查询 (1)查询全体学生的学号与姓名。 (2)查询全体学生的姓名、学号、所在系。 (3)查询全体学生的详细记录。 (4)查全体学生的姓名及其出生年份。 (5)查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。 (6)使用列别名改变查询结果的列标题 (7)查询选修了课程的学生学号。 (8)查询所有年龄在20岁以下的学生姓名及其年龄。 (9)查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 (10)查询年龄不在20~23岁之间的学生姓名、系别和年龄。 (11)查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 (12)查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。 (13)查询所有姓刘学生的姓名、学号和性别。 (14)查询学号为20080711的学生的详细情况。(具体的学号值根据表中数据确定)

实验3 SQL的简单查询功能

实验3 SQL的简单查询功能 实验目的 学会使用MS SQL SERVER 2000的查询分析器完成SQL的简单查询功能,主要包括单表查询的选择、投影、排序、聚集函数、分组等。 知识点拨: 1.查询语句基本格式: 2.单表查询; 3.选择 4.投影 5.排序 6.聚集函数 7.分组查询 1.分组查询与选择的比较: 实验内容 1.掌握SQL查询语句的一般格式; 2.学会包括选择、投影、排序、聚集函数、分组等的单表查询; 实验步骤 1.选择数据库JX; 2.以下查询操作使用查询分析器完成: (1)查询所有教师的教工号、姓名和电话号码信息,查询结果列项是中文名;MODIFY PROJECT f:\shuju库原理\项目1.pjx set default to F:\shuju库原理 select tno 教师编号,tname 教师姓名 ,photo 教师电话号码; from teacher

(2)查询‘计算机’系的所有副教授的基本信息; from teacher list select *; from teacher; where porf='副教授' (3)查询所有女同学的姓名及所在的系,显示结果不允许重复出现; select distinct sname,sdept; from Student; where sex='女 ' (4)查询各教师的姓名、教工号及工资按95%发放的信息,并将按95%发放的工资列改名为‘预发95%工资’; alter table teacher;

add 工资按95发放 char(20) 列名更改以后: 代码: alter table teacher rename 工资按95发放 to 预发百分之95工资 list select * from teacher (5)检索计算机系总学分在50~100的学生信息,并按学号降序排列;select * from student,score; where student.sno=score.sno and sdept='计算机'and degree成绩>=50 and degree成绩<= 100; order by student.sno desc

SQL数据库实验报告 实验三

实验3 SQL Server数据表的管理 1.实验目的 (1)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE TABLE和ALTER TABLE创建和修改表的方法。 (2)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。 (3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。 (4)了解SQL Server的常用数据类型。 2.实验内容及步骤 (1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。 (2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2至图1-4所示。 图1-2 学生基本情况表student_info 图1-3 课程信息表curriculum 图1-4 学生成绩表grade (3)在SQL Server管理平台中创建student_info、curriculum表。

(4)在SQL Server 管理平台中,将student_info 表的学号列设置为主键,非空。

(5)使用Transact-SQL语句CREA TE TABLE在studentsdb数据库中创建grade表。 (6)student_info、curriculum、grade表中的数据如图1-5至图1-7所示。 图1-5 student_info的数据

图1-6 curriculum的数据 图1-7 grade的数据 (7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。

国开电大《数据库运维实验》实验3 数据库安全性与完整性控制实验

实验内容及结果: 授权 创建用户”S学号u1”,S学号u2,S学号u3,S学号U4,并为其赋予connect角色。 其中,学号是指你的学号,比如你的学号为20130001,则你创建的用户应该是S2*******u1,S2*******u2,S2*******u3,S2*******u4 create user s2016214220u1 identified by nefu1234; create user s2016214220u2 identified by nefu1234; create user s2016214220u3 identified by nefu1234; create user s2016214220u4 identified by nefu1234; 假设你的用户名是S2*******(做实验时请根据你的账号修改),把你在数据库中创建的Student表的查询权限授给用户”S学号u1”,”S学号u1”执行相应的查询。 grant select on s2016214220.student to s2016214220u1 (1)查询S2*******用户的Student表中全体学生的详细记录 select * from student (2)查询S2*******用户Student表中所有姓刘的学生的姓名、学号和性别。 select sno,sname,ssex from s2016214220.student where sname like '刘%'; (3)查询S2*******用户Student表中名字中第二字为“阳”字的学生的姓名和学号。select sname,sno from s2016214220. student where sname like '_阳%'; 把S2*******用户的Student表和Course表的全部权限授予用户”S学号u2”,”S学号u3”;然后让”S学号u2”用户修改S2*******的数据。 GRANT all privileges ON s2016214220.student

实验三 数据库和数据表的创建

实验三创建数据库和数据表 一、实验目的 1. 掌握使用SQL Server Management Studio创建数据库的方法与步骤 2. 掌握创建数据库的SQL 语句 3、掌握使用SQL Server Management Studio创建数据表的方法与步骤 4、掌握创建数据表的SQL 语句 背景知识 在SQL Server中,数据库是由数据库文件和事务日志文件组成的。一个数据库至少应包含一个数据库文件和一个事务日志文件。 数据库文件是存放数据库数据和数据库对象的文件。一个数据库可以有一个或多个数据库文件,当有多个数据库文件时,有一个文件被定义为主数据库文件,扩展名为.mdf,它用来存储数据库的启动信息和部分或全部数据,一个数据库只能有一个主数据库文件。其它数据库文件被称为次数据库文件,扩展名为.ndf,它主要用来存储除主数据文件外的所有数据文件。一个数据库可以没有次数据库文件,但也可以同时拥有多个次数据库文件。 事务日志文件是用来记录数据库更新情况的文件,扩展名为.ldf。它包含恢复数据库所需的所有日志信息。每个数据库必须至少有一个日志文件。 文件组是将多个数据库文件集合起来形成的一个整体。每个文件组有一个组名。文件组分为主文件组和用户定义文件组。一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。注:事务日志文件不属于任何文件组。 二、实验内容与步骤 2.1 操作内容: ●创建一个名为“testdb”数据库: (1)包含一个数据文件,逻辑文件名“testdb_data”,磁盘文件名‘d:\testdb-data.mdf’,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB; (2)包含一个事务日志文件,逻辑文件名为‘d:\testdb_log’, 磁盘文件名“testdb_log.ldf”,文件初始容量为5MB,最大容量为10MB,文件容量递增值为1MB; ●对数据库作如下修改: (1)添加一个数据文件,逻辑文件“testdb2_data”,磁盘文件名“d;\testdb2_data.ndf”,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB; (2)将事务日志文件的最大容量增加为15MB,递增值改为2MB;

实验三查询数据库原理实验

实验报告日期2013 年11月12日 1. 实验目的 1) 熟悉SQL Server 查询分析器环境。 2) 掌握基本的SELEC 查询及其相关子句的使用。 3) 掌握复杂的SELEC 查询,如多表查询、子查询、连接和联合查询。 2. 实验内容 1) 启动SQL Server 查询分析器环境。 2) 简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表 等。具体完成以下题目,将它们转换为 SQL 语句表示,在XSCJ 数据库中实现 其数据查询操作。 a ) 查询计算机系学生的学号和姓名 b ) 查询选修了课程的学生学号 c ) 查询选修课程号为‘101’的学号和成绩,并要求对查询结果按成绩的 降序排列,如果成绩相同按学号的升序排列。 d ) 查询选修课程号为‘101 '且成绩在80~90之间的学生学号和成绩,并 成绩乘以输出。 e ) 查询水利系或计算机系姓陈的学生的信息。 f ) 查询缺少了成绩的学生的学号和课程号 g ) 在KC 表中查询学分低于3的课程信息,并按课程号升序排列。 h ) 查询全体学生的姓名,出生年份,和所在系 i ) 查询 计算机,经济系的所有学生的姓名和性别 j ) 查询没有先行课的课程的课程号和课程名 3) 连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、 外连接、内连接、左连接、右连接和自连接等。 a ) 查询107号课程不及格的学生信息(学号,姓名,联系电话)。 b ) 查询学生的学号、姓名、选修的课程号及成绩 c ) 查询选修课程号为‘101 '且成绩在90以上的学生学号、姓名和成绩 d ) 查询每一门课程的间接先修课(即先修课的先修课) SELEC ■课程名 FROM xs_kc A JOIN xs_kc B Where A.先修课程=B.课程名 and 先修课程is notnull e ) 用连接查询在XSQK 表中查询住在同一寝室的学生,即其联系电话相同 SELECT A 学号,A.姓名,A.联系电话 FROM XSQK A JOIN XSQK B ON A.联系 电话=B.联系电话 WHERE A.学号!=B.学号 4) 嵌套查询 a )查询与’杨颖’在同一个系学习的学生的信息 select * from XSQK where 所在系 in (select 所在系 from XSQK where 课程 数据库原理与应用 实验名称查询数据库 院系— 计算机―专业班级_姓名__学 号 0202 实验日期2013 年11 月5 日 10 月29日 1 1 月12日

数据库原理实验报告(3)实验三数据表的创建与管理实验

南京晓庄学院 《数据库原理与应用》课程实验报告 实验三数据表的创建与管理实验 所在院(系):数学与信息技术学院 班级: 学号:

姓名: 1.实验目的 (1)理解SQL Server 2005常用数据类型和表结构的设计方法。理解主键、外键含义,掌握 建立各表相关属性间参照关系的方法。 (2)熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构, 插入及更新数据的方法。 (3)熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方法。 2.实验要求 基本实验: (1)在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构: 学生信息(学号,姓名,性别,籍贯,出生日期,民族,学院/系别号,班级号) 课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时) 学习信息(学号,课程号,考试成绩,平时成绩) 院系信息(院系号,院系名称) 要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。 (2)依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据库中 创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。 (3)依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验使 用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。 (4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。 (5)按要求完成实验报告。 扩展实验: (1)在“TM”数据库中补充设计以下各表结构: 教师信息(教师号,姓名,性别,出生日期,学历,学位,入职时间,职称,院系号) 授课信息(教师号,课程号,学期) 班级信息(班级号,班级名称,专业号) 专业信息(专业号,专业名称,学制,学位) 图书信息(图书号,书名,作者,出版社,出版日期,册数,价格,分类) 借书偏息(学号,图书号,借出时间,归还时间) 奖励信息(学号,奖励类型,奖励金额) (2)设计并实现各表之间相关属性的参照关系。 (3)使用SQL Management Studio图形界面或Transact-SQL在“TM”数据库中创建前述各表, 并插入部分数据,要求所插入数据合理有效。 3.实验步骤、结果和总结实验步骤/结果

实验3:使用SQL语句创建并管理数据库

序号: 云南大学软件学院实验报告 课程:数据库原理与实用技术实验学期:2015-2016学年第二学期任课教师:张云春 专业:信息安全学号:20141120206 姓名:严鑫成绩: 实验3使用SQL语句创建并管理数据库 做删除或修改操作时,请注意备份数据库 一、CAP数据库 1、用T-SQL语句创建并管理数据库CAP: 记录创建数据库的SQL语句。 CREATE DATABASE cap on ( name='cap', filename='d:\cap.mdf', size=5mb, maxsize=30mb, filegrowth=10% ) log on ( name='caplog', filename='d:\cap.ldf', size=5mb, maxsize=25mb, filegrowth=1mb ) 2、修改数据库:将“CAP数据库”的数据库最大容量更改为无限制(UNLIMITED),然后将“CAP数 据库”的日志文件增长方式改为2MB。 记录SQL语句。alter database cap modify file ( name=cap, filename='d:\cap.mdf', maxsize=unlimited )

alter database cap modify file ( name=caplog, filename='d:\cap.ldf', filegrowth=2 ) 3、用T-SQL语句在“CAP数据库”创建数据表,数据表的结构见教材。记录创建表的SQL语句。 create table customers ( cid char(10)not null, cname char(10)not null, city char(10)not null, discnt char(10)null, primary key(cid) ) create table agents ( aid char(10)not null, aname char(10)not null, city char(10)not null, [percent]char(10)null, primary key(aid) )

实验三-数据表的创建与管理

实验三数据表的创建与管理 一、实验目的 要求学生熟练掌握SQL server Management Studio的使用和利用T-SQL语句进行数据表的创建和删除,并对数据表和表中数据进行有效的管理。 二、实验内容 分别使用SQL Server Management Studio和T-SQL语句创建和删除数据表,修改表结构,输入数据、更新数据。 三、实验指导 1. 数据表定义 实验3.1在“JXGL”数据库中,使用SQL Server Management Studio建立S、C和SC三个表,其结构如表 表1.3.1 学生表S结构 列名描述数据类型允许空值说明 sno 学号char(8) NO 主键 sname 姓名char(8) NO age 年龄Smallint YES sex 性别char(2) YES sdept 所在系Varchar(50) YES 表1.3.2 课程表C结构 列描述数据类型允许空值说明 cno 课程号char(4) NO 主键 cname 课程名char(20) NO credit 学分Float YES pcno 先修课char(4) YES

describe 课程描述varchar(100) YES 表1.3.3 选课表SC结构 列描述数据类型允许空值说明 sno 学号char(8) NO 主键(同时都是外键)cno 课程号char(4) NO grade 成绩Float YES 具体步骤如下: (1)在SQL Server Management Studio的对象管理器中,单击数据库前面的“+”号,选择“表”并击右键,在弹出的快捷菜单中选择“新建表”菜单项,则进入设计表字段对话框,如图 图1.3.1设计字段对话框 (2) 在设计表字段对话框中,共有三列参数:列名,数据类型,允许Null 值。“列名”就是数据库表的字段名,而“数据类型”是字段值的类型即整型、字符型、日期时间型等类型,“允许Null值”是用来设置该字段中的值能不能为空。 “列属性”显示在表设计器的底部窗格中。主要有: 常规 展开此项可显示“名称”、“允许空值”、“数据类型”、“默认值或绑定”、“长度”、“精度”和“小数位数”。 名称:显示所选列的名称。 长度:显示基于字符的数据类型所允许的字符数。此属性仅可用于基于字符的数据类型。 默认值或绑定:当没有为此列指定值时显示此列的默认值。此字段的值可以是 SQL Server 默认约束的值,也可以是此列被绑定到的全局约束的名称。该下拉列表中包含数据库中定义的所有全局默认值。若要将该列绑定到某个全局

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server 提供的Microsoft SQL Server Management Studio 工具,交互式使用SQL语句。 3 实验内容及要求 选择如下一个应用背景之一: 学生选课系统 习题3、4、和5中使用的数据库 其它你熟悉的应用 (1 )建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的内容: 3.1 数据定义 1. 基本表的创建、修改及删除 2. 索引的创建 3. 视图的创建

3.2 数据操作 完成各类更新操作包括:

3.删除数据 3.3 数据查询 計操作 完成各类查询操作 单表查询 分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4数据操彳 参考示例: 建立一个学生选课数据库,练习对表、 视图和索引等 数据库对象的 各种操作。 、数据定义 创建学生选课数据库 程信 ST ,包括三个基本表,其中 Student 表保存学生基本信息, Course 表保存课 息,SC 表保存学生选课信息,其结构如下表: 表1. S tudent 表结构 用途 类型 长度 约束 Sno Sname Ssex Sage Sdept Sclass 学号姓名 性别年龄所在系 班级 整型字符 字符 表2. C 20 ourse 表结 主键

相关主题
文本预览
相关文档 最新文档