数据库实验报告(实验六)
实验六 数据安全性实验
实验六数据安全性实验实验目的和要求:加深对数据安全性的理解,掌握SQL SERVER中有关用户、角色及操作权限的管理方法。
实验内容:1. 建立教学数据库teaching2. 建立教学数据库的三个基本表:S (S#, SNAME, AGE, SEX) 学生(学号,姓名,年龄,性别)SC (S#, C#, GRADE ) 选修(学号,课程号,成绩)C (C#, CNAME, TEACHER) 课程(课程号,课程名,任课教师)3.输入数据基本表C的数据4. 数据修改、删除1)把C2课程的非空成绩提高10%。
2)在SC表中删除课程名为PHYSICS的成绩的元组。
3)在S和SC表中删除学号为S8的所有数据。
5. 计算每个学生有成绩的课程门数、平均成绩。
6. 创建一个登录用户(1)打开企业管理器中的安全性文件夹,右击其中的登录文件夹,在弹出的菜单中选择“新建登录”选项后,就会出现一个登录属性对话框,在常规选项卡中输入用户名(login1),选择该用户的安全认证模式,选择默认数据库和默认语言。
如使用SQL SERVER安全认证模式,可以直接在名称栏中输入新登录名,并在下面的栏目中输入登录密码。
(2)选择数据库访问选项卡,确定用户能访问的数据库为教学数据库teaching,操作完成后,单击“确定”按钮,完成创建登录用户的工作。
7. 创建新的数据库用户在企业管理器中扩展SQL服务器及数据库文件夹。
右击用户文件夹,弹出的菜单中选择“新建数据库用户”项,会出现新建数据库用户属性对话框。
在对话框的登录名栏中选择一个SQL服务器登录用户名(login1),并在它下面的用户名栏中输入数据库用户名u2,单击“确定”按钮完成。
8.使用GRANT语句,把对基本表S、SC、C的使用权限授给用户u2。
并用REVOKE 语句回收权限。
实现数据转换实验内容:1)利用DTS的功能导出数据。
2)利用DTS的功能导入数据。
3)利用DTS设计器导入、导出数据。
数据库实验报告范本
数据库实验报告范本一、实验目的本次数据库实验的主要目的是深入了解数据库的基本操作和管理,掌握数据的存储、查询、更新和删除等功能,提高对数据库的实际应用能力和问题解决能力。
二、实验环境1、操作系统:Windows 102、数据库管理系统:MySQL 803、开发工具:Navicat Premium 12三、实验内容及步骤(一)数据库的创建1、打开 Navicat Premium 12 工具,连接到本地 MySQL 服务器。
2、在连接成功后,右键点击“连接”,选择“新建数据库”。
3、在弹出的“新建数据库”对话框中,输入数据库名称(例如:student_management),选择字符集和排序规则,点击“确定”按钮创建数据库。
(二)表的创建1、展开新建的数据库,右键点击“表”,选择“新建表”。
2、在“表设计器”中,依次添加表的字段,包括字段名、数据类型、长度、是否允许为空等属性。
以学生表(students)为例,字段包括:student_id(INT 主键,自增)、student_name(VARCHAR(50))、student_age(INT)、student_gender(VARCHAR(10))。
课程表(courses)字段:course_id(INT 主键,自增)、course_name(VARCHAR(50))、course_credit(INT)。
成绩表(scores)字段:score_id(INT 主键,自增)、student_id (INT 外键,关联 students 表的 student_id)、course_id(INT 外键,关联 courses 表的 course_id)、score(FLOAT)。
3、设置完字段属性后,点击“保存”按钮,输入表名(如 students、courses、scores)创建表。
(三)数据的插入1、打开创建好的表,点击“插入”按钮。
2、在弹出的“插入行”对话框中,按照字段顺序输入相应的数据。
数据库实验报告
数据库实验报告一、实验目的本次数据库实验的主要目的是通过实际操作和实践,深入了解数据库的基本概念、原理和技术,掌握数据库的设计、创建、管理和数据操作的方法,提高对数据库系统的应用能力和问题解决能力。
二、实验环境本次实验使用的数据库管理系统是 MySQL,操作系统为 Windows 10。
实验中使用的开发工具包括 MySQL Workbench 和命令行终端。
三、实验内容与步骤(一)数据库设计1、需求分析根据给定的业务场景,确定数据库需要存储的信息和数据之间的关系。
例如,对于一个学生管理系统,需要存储学生的基本信息、课程信息、成绩信息等,并且明确这些信息之间的关联,如学生与课程的选课关系、课程与成绩的对应关系等。
2、概念模型设计使用 ER 图(实体关系图)来描述数据库的概念模型。
确定实体(如学生、课程)、属性(如学生的学号、姓名,课程的课程号、课程名)以及实体之间的关系(如多对多、一对多等)。
3、逻辑模型设计将概念模型转换为关系模型,确定数据表的结构,包括表名、字段名、数据类型、主键、外键等。
例如,学生表(学号、姓名、性别、出生日期),课程表(课程号、课程名、学分),选课表(学号、课程号、成绩)等。
(二)数据库创建1、使用 MySQL Workbench 或命令行创建数据库。
2、创建数据表,按照设计好的逻辑模型定义表结构。
(三)数据插入与操作1、使用 INSERT 语句向数据表中插入数据,以模拟实际的业务数据。
2、进行数据的查询操作,使用 SELECT 语句查询满足特定条件的数据。
3、进行数据的更新和删除操作,使用 UPDATE 和 DELETE 语句修改或删除数据。
(四)数据库索引与优化1、了解索引的概念和作用,为经常用于查询、连接和排序的字段创建索引。
2、分析查询语句的执行计划,通过优化查询语句、调整数据表结构等方式提高数据库的性能。
(五)数据库备份与恢复1、学习数据库备份的方法,使用 mysqldump 工具或 MySQL Workbench 进行数据库的备份。
《数据库实验》实验报告
《数据库实验》实验报告一、实验目的本实验旨在通过设计与实现一个简单的学生信息管理系统,来加深对数据库基本概念和SQL语言的理解,并掌握数据库的创建、表的设计、数据的增删改查等基本操作。
二、实验环境本次实验的开发环境为以下软件与工具:1. 数据库管理系统:MySQL2. 编程语言:Java3. 开发工具:Eclipse IDE4. Web服务器:Apache Tomcat三、实验内容及步骤1. 数据库的创建与连接首先,在MySQL中创建一个名为"student_system"的数据库,并通过JDBC连接该数据库。
在Java代码中,使用JDBC的API进行数据库连接操作,包括加载驱动、建立连接等步骤。
2. 数据表的设计与创建在student_system数据库中创建一个名为"student"的数据表,该表用于存储学生的基本信息。
表中应包含学号(id)、姓名(name)、性别(gender)和专业(major)等字段,并设置合适的数据类型和约束。
3. 数据的插入与修改通过SQL语句,在student表中插入若干条学生信息,包括学号、姓名、性别和专业。
同时,通过SQL的UPDATE语句,修改某些学生的信息。
4. 数据的查询编写SQL语句,实现对学生信息的查询。
可以根据学号或姓名等关键字进行查询,并返回符合条件的学生信息。
5. 数据的删除根据指定的学号或姓名,编写SQL语句实现对学生信息的删除操作。
删除后,该学生的信息将不再存在于数据库中。
四、实验结果经过以上实验步骤的设计与实现,在学生信息管理系统中,成功地创建了student表,并成功插入了若干学生信息。
通过SQL语句的查询和修改操作,可以准确地获取和修改学生的信息。
此外,删除操作也能够成功地从数据库中删除指定学生的信息。
五、实验总结通过本次实验,我进一步掌握了数据库的基本操作与SQL语言的应用。
在实验过程中,我理解到数据库的设计与搭建是一个关键步骤,合理的表结构和约束条件对于数据的管理和有效性有着重要的影响。
数据库作业实验六
数据库作业实验六实验六实验名称:连接查询⼀、实验⽬的掌握使⽤连接的⽅法从多个表中查询数据。
理解内连接、外连接(包括左外连接、右外连接和全外连接)、⾃⾝连接的概念和使⽤。
要求学⽣熟练掌握在FROM⼦句和在WHERE⼦句中指定连接条件的这两种⽅法。
⼆、实验原理在查询语句的FROM⼦句中⽤以下形式实现各种连接操作:●FROM 表1 [INNER] JOIN 表2 ON 表1.列名=表2.列名(实现内连接)●FROM 表1 LEFT [OUTER] JOIN 表2 ON 表1.列名=表2.列名(实现左外连接)●FROM 表1 RIGHT [OUTER] JOIN 表2 ON 表1.列名=表2.列名(实现右外连接)●FROM 表1 FULL [OUTER] JOIN 表2 ON 表1.列名=表2.列名(实现全外连接)●FROM 表1 AS 别名1 JOIN 表1 AS 别名2 ON 别名1.列名=别名2.列名(实现⾃⾝连接)在查询语句的WHERE⼦句中⽤以下形式实现各种连接操作:●FROM 表1,表2 WHERE 表1.列名=表2.列名(实现内连接)●FROM 表1,表2 WHERE 表1.列名*=表2.列名(实现左外连接)●FROM 表1,表2 WHERE 表1.列名=*表2.列名(实现右外连接)●FROM 表1 AS 别名1 ,表1 AS 别名2 WHERE 别名1.列名=别名2.列名(实现⾃⾝连接)三、实验设备安装有SQL SERVER 2005的计算机。
四、实验⽰例1、检索product 表和sale_item表中数量⼤于2的相同产品的产品编号、产品名称、数量、单价。
select a.prod_id,a.qty,a.unit_price,b.prod_namefrom sale_item as a inner join product as b /*如果改成left join/right join 试分析结果*/on (a.prod_id=b.pro_id) and a.qty>2order by a.prod_id2、查找出employee表中住址相同的员⼯的姓名、性别、职称、薪⽔、住址。
实验六111070003艾福荣·艾尼瓦尔
实验五111070003艾福荣(一)基于SPJ数据库完成下列查询1.单表查询1)找出所有供应商的姓名和所在城市2)找出所有零件的名称、颜色、重量3)查询供应工程J1零件的供应商号码SNO4)查询供应工程J1零件P1的供应商号码SNO2.连接查询1)查询供应工程J1零件为红色的供应商号码SNO2)查询供应工程J2使用的各种零件的名称及其数量3)查询使用上海产的零件的工程名称3.嵌套查询1)查询供应工程J1零件为红色的供应商号码SNO2)查询没有使用天津供应商生产的红色零件的工程号JNO3)查询至少用了供应商S1所提供的全部零件工程号JNO4)查询上海厂商供应的所有零件号码5)查询使用上海产的零件的工程名称6)查询没有使用天津产的零件的工程号码(二)基于“学生—课程”数据库完成下列查询。
(该数据库包括5个表:学生表Student、课程表Course、学生选课表SC、教师表Teacher、授课表,假设在该数据库中,存在的关系为:学生可以选择课程,一门课程对应一位教师。
)1)查询年级为2006的所有学生的姓名并按编号升序排列因为数据中学生都不是2006级的,所以查询结果为无。
2)查询学分是3或4的课程的名称3)查询所有已选课学生的编号4) 查询学分>3的课程的编号5) 请找出总分超过400分的学生解决方法:修改grade数据类型为int 可以实现。
6) 查询课程的总数7) 查询所有课程和选修该课程的学生总数8)查询选修成绩合格的课程超过两门的学生编号9)统计各个学生的选修课程数目和平均成绩选修课程数平均成绩10)分别使用等值连接和谓词IN两种方式查询姓名为李勇的学生所选的课程编号和成绩11)查询选修课程database的学生集合与选修课程“数学”的学生集合的并集12)找出讲授课程数学的教师讲授的所有课程名称13)查询未被学生选修的课程的名称14)找出选修课程数据库成绩最高的学生编号15)查询工资最高的教师的编号和开设的课程号16)查询学分比课程C++多的课程的名称17)查询选修了编号200102901的教师开设的所有课程的学生编号18)查询既选修课程database又选修课程UML的学生的编号采用嵌套式则可以完成查询。
数据库原理综合实验报告
实验六数据库原理综合实验1实验目的(1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。
以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。
(2)对前面章节所学的知识加以综合应用。
2实验内容给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。
(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。
完成下面的工作2.1 数据库概念模型设计(1)进行需求分析。
-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法)(2)识别系统中的实体及实体的属性,分析实体之间的联系。
(3)设计数据库概念模型,画出E-R图。
2.2 数据库逻辑模型设计(1)根据数据库概念模型设计数据库的逻辑模型。
-将E-R模型转化到逻辑模型(2)根据应用需要和规范化理论对逻辑模型进行优化。
2.3 数据库物理模型设计(1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。
(2)优化物理模型(3)生成某种DBMS的SQL语句,创建数据库及其表。
2.4 装载数据(1)收集真实数据或者生成模拟数据。
(2)批量加载数据到数据库中。
(3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,以测试数据库性能。
3实验要求(1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。
(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。
(3)要设计良好的数据库完整性约束。
(4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点?4实验步骤4.1 数据库概念模型设计(1)进行需求分析。
学生需要有学号、姓名、性别、年龄、专业等信息。
选课需要有学号、课号、成绩等信息课程需要有课程号、课程名、先修课、学分等信息(2)设计数据库概念模型,画出E-R图。
实验6 数据库及表
实验六数据库及表
1.创建一个名为“工资管理系统.accdb”的空数据库文件,依据下图所示的表的结构,在图书管理数据库中创建“工资”、“员工”、“部门”3个表。
结构如下:
字段长度根据需要进行设置。
员工表数据如下:(可以通过复制粘贴进行),并在最后一行增加个人的资料
其他两表的数据分别在“工资.xlsx”“部门.xlsx”,通过导入数据的方式创建表及数据,然后再对表结构进行适当修改
2.将所有日期型字段的格式设置为“短日期”。
3.设置“性别”字段的默认值为“男”,“民族”的默认值为“汉族”
4. 设置年龄的有效性规则在20岁到60岁之间(>=20 and <=60),有效性文本为“年龄必须在20到60之间”,设置“性别”有效性规则为男或女 ("男" or "女")
5.设置出生日期的输入掩码为“9900/90/90;0;_”
6.设置“部门号”字段采用下拉框输入,数据来自于部门表,(使用查询向导的方式生成)
7.对员工表先按部门排序,然后按姓名排序。
实验六 数据库的完整性定义与检查 (2)
实验六数据库的完整性定义与检查实验目的:1.充分理解关系数据库中关于数据库完整性的概念。
2.掌握实体完整性的定义和检查方法。
3.掌握参照完整性的定义和检查方法。
4.掌握用户自定义完整性的定义和检查方法。
实验内容:一、在企业管理器中定义以下数据表中各字段的完整性约束(包括实体完整性、参照完整性和用户定义完整性)。
1.Student表。
记录学生基本信息。
表1-1 Student 表结构[Sno] [char](9)PRIMARY KEY,[Sname] [char](8)NOT NULL,[Ssex] [char](2)CHECK(Ssex IN('女','男')),[Sage] SMALLINT CHECK(Sage>=15 AND Sage<=45),[Sdept] [char](20)default('计算机'))2.Course表。
记录课程信息。
表1-2 Course 表结构[Cno] [char](10)PRIMARY KEY,[Cname] [char](20)NOT NULL,[Ccredit] SMALLINT CHECK(Ccredit>0),[Semester] SMALLINT CHECK(Semester>0),[Period] SMALLINT CHECK(Period>0),)3.Sc表。
记录学生选修课程的信息。
表1-3 Sc 表结构[Sno] [char](9)NOT NULL,[Cno] [char](10)NOT NULL,[Grade]SMALLINT CHECK(Grade>=0 and Grade<=100),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno)REFERENCES Student(Sno),FOREIGN KEY(Cno)REFERENCES Course(Cno))二、在查询编辑器中,写出创建表的语句同时写出设置实体完整性、参照完整性和用户自定义完整性的语句。
数据库实验报告
数据库实验报告《数据库系统概论》实验指导书2012-8-30⽬录实验⼀数据库服务器的连接及数据库的建⽴ (1)实验⼆简单SQL查询及数据库多表查询 (12)实验三视图、索引、存储过程和触发器的使⽤ .. 22实验四 E-R模型与关系模型的转换 (30)实验五维护数据的完整性(选做)错误!未定义书签。
实验六事务管理(课后选做)错误!未定义书签。
实验七数据库的备份与恢复(课后选做)错误!未定义书签。
实验⼀数据库服务器的连接及数据库的建⽴⼀、实验⽬的:了解连接数据库服务器的⾝份验证模式,熟悉样例数据库。
掌握DBMS中利⽤界⾯进⾏建库建表操作。
⼆、实验准备:数据模型由三个要素组成:数据结构、数据操作和完整性约束。
1、数据结构数据结构⽤于描述系统的静态特性,是所研究的对象类型的集合。
数据模型按其数据结构分为层次模型、⽹状模型和关系模型。
2、数据操作数据操作⽤于描述系统的动态特性,是指对数据库中各种对象的实例允许执⾏的操作的集合,包括操作及有关的操作集合。
3、数据的约束条件数据的约束条件是⼀组完整性规则的集合。
完整性规则是给定的数据及其联系所具有的制约和存储规则,⽤以限定符合数据库状态以及状态的变化,以保证数据的正确、有效和相容。
数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级组成。
1、外模式。
外模式也称⼦模式或⽤户模式,它是数据库⽤户(包括应⽤程序员和最终⽤户)看见和使⽤的局部数据的逻辑结构和特征的描述,是数据库⽤户的数据视图,是与某⼀应⽤有关的数据的逻辑表⽰。
⼀个数据库可以有多个外模式。
2、模式。
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有⽤户的公⽤数据视图。
⼀个数据库只有⼀个模式。
3、内模式。
内模式也称存储模式,它是数据物理和存储结构的描述,是数据在数据库内部的表⽰⽅式。
⼀个数据库只有⼀个内模式。
DBMS的功能1、数据定义数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模式与模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件(例如,为保证数据库中数据具有正确语义⽽定义的完整性规则,为保证数据库安全⽽定义的⽤户⼝令和存取权限等)。
《数据库实验》实验报告
《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
⼆、实验内容1、创建数据库和查看数据库属性。
2、创建表。
3、查看和修改表结构。
4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。
(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。
数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。
详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。
(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。
创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。
数据库实验报告(实验六)(合集五篇)
数据库实验报告(实验六)(合集五篇)第一篇:数据库实验报告(实验六)实验六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课程的学生学号,并取消重复的数据。
实训6 多表连接查询
专业
班级
姓名
学号
日期
实训室
一、实训目的
1、掌握多表连接查询的创建方法
2、掌握创建新表的方法
二、实训内容
1、内连接inner join
2、外连接left/right/full join
3、自内连接join
4、用select into语Fra bibliotek创建新表三、实训步骤
将“XSGL.xls”文件导入到SQL SERVER中,数据库名为“学生管理”,数据文件和日志文件大小均为1MB
5、在“学生情况”表中查询姓名相同的学生,显示班级代号、学号、姓名、性别
6、通过“学生情况”表,创建“江苏学生”表,包含学生情况表中的所有字段
7、通过“学生情况”、“选课及成绩”、“课程档案”3张表,创建“学生选课成绩”表,显示学号、姓名、课程号、课程名称、平时成绩和考试成绩,结果按学号升序排列
1、通过“班级简况”表和“学生情况”表查询每个学生的班级代号、班级名称、学号、姓名
2、通过“学生情况”、“选课及成绩”、“课程档案”3张表,查询学生的选课情况,显示学号、姓名、课程号、课程名称、平时成绩和考试成绩
3、通过“班级简况”表和“学生情况”表查询没有学生的班级,显示其班级代号及班级名称
4、通过“选课及成绩”表和“课程档案”表,查询没有学生选修的课程,显示其课程代号和课程名称
实验六实验报告
实验六实验报告云南大学软件学院实验报告课程:数据库原理与实用技术实验任课教师:包崇明姓名:匿名学号:2013…….专业:软件工程成绩:实验6 数据库完整性实验6-1 完整性约束1、在学生表上面创建下列CHECK约束【注】:因为学生表已经存在,所以这里使用添加check约束的方法实现:(1)创建入学日期约束“Enter_University_date_rule”,假定该学校于1923年4月30日创建。
要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期测试语句:结果(添加的check约束起作用了),如图:(2)创建学生年龄约束“Age_rule”。
要求:学生年龄必须在15~30岁之间测试语句结果(添加”Age_rule”成功,并且年龄为’2015/4/27’没有违反”Enter_University_date_rule”约束,进一步说明了(1)中的check约束添加成功,如图:【注】:考虑到时间关系,下面的部分解答中将会省略测试约束的步骤。
(3)创建学生性别约束“Sex_rule”。
要求:性别只能为“男”或“女”(4)创建学生成绩约束“Score_rule”。
要求:学生成绩只能在0~100之间(5)用图形方法查看学生成绩约束“Score_rule”,截图为:2、删除约束Enter_University_date_rule测试语句:结果:(更新成功)3、创建声明式默认约束:在创建表的过程中创建默认约束(1)创建表“default_example”,表中包含字段pid、name、sex、age。
要求设定sex的默认值为“男”、age的默认值为18。
创建default_example表语句:采用SQL语句进行插入元祖:执行结果为:(默认值起作用了!!)(2)插入一条编号为100 的记录,执行结果为:(3)修改默认值一般先删除老的默认约束,再新建一个默认约束方法如下:删除约束:alter TABLE default_example drop 约束名新建默认约束:alter TABLE default_example add constraint df_age default(20) for age①删除老的默认约束:②新建默认约束:请将年龄默认值更改为19,执行结果为:测试语句:结果(默认年龄被修改为19),如图:3、在“学生管理数据库”各个数据表中建立相应的主键、外键、惟一值、以及check约束,要求:学生的年龄必须是两位数,其中第一位是1或2:(1)学生表【添加主键和年龄约束】:(2)授课表【添加主键和外键】:(3)课程表【添加主键】:(4)成绩表【添加主键和外键】:第一次添加外键失败,因为两个表中的学号长度不等,所以我需要修改使其相等再添加。
数据库原理实验报告
计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级:2012级本科班学号:*****姓名:指导教师:2014年06月18 日实验项目列表计算机与信息学院实验报告纸实验一数据库创建与管理一、实验目的与要求1、熟练掌握SSMS中界面方式创建和管理数据库。
2、熟练掌握SSMS查询编辑器T-SQL语句创建和管理数据库。
3、熟练掌握备份和还原数据库。
二、实验内容1、界面方式创建和管理数据库(1)创建数据库(2)修改数据库(3)删除数据库2、利用企业管理器备份和还原数据库(1)备份数据库(2)还原数据库3、T-SQL语句方式创建和管理数据库(1)创建SPJ数据库:在SSMS中“新建查询”,输入以下语句并运行CREATE DATABASE SPJON(NAME=’SPJ_Data’,FELENAME='C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Data.MDF' ,SIZE = 3,MAXSIZE = 10,FILEGROWTH = 10%)LOG ON(NAME = 'SPJ_Log', FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL\data\SPJ_Log.LDF' ,SIZE = 1,FILEGROWTH = 10%)(2)修改SPJ数据库:在查询分析器中输入以下语句并运行ALTER DATABASE SPJMODIFY FILE(NAME='SPJ_Data',SIZE=4,ALTER DATABASE SPJADD FILE(NAME='SPJ_Data_2', FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SPJ_Date_2.ndf',SIZE=1,MAXSIZE=10,FILEGROWTH=10%)(3)删除SPJ数据库:DROP DATABASE SPJ4、界面方式创建数据库XSBOOK,写出操作过程。
SQL数据库实验报告实验六
第1部分实验8 存储过程和触发器1.实验目的(1)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE PROCEDURE 创建存储过程的方法和步骤。
(2)掌握使用Transact-SQL 语句EXECUTE 执行存储过程的方法。
(3)掌握通过SQL Server 管理平台和Transact-SQL 语句ALTER PROCEDURE 修改存储过程的方法。
(4)掌握通过SQL Server 管理平台和Transact-SQL 语句DROP PROCEDURE 删除存储过程的方法。
(5)掌握通过SQL Server 管理平台和Transact-SQL 语句CREA TE TRIGGER 创建触发器的方法和步骤。
(6)掌握引发触发器的方法。
(7)掌握使用SQL Server 管理平台或Transact-SQL 语句修改和删除触发器。
2.实验内容及步骤(1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print ,该存储过程能够显示26个小写字母。
CREATE PROCEDURE letters_print ASDECLARE @count int SET @count=0 WHILE @count<26 BEGINPRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END单击查询分析器的“执行查询”按钮,查看studentsdb 数据库的存储过程是否有letters_print 。
使用EXECUTE 命令执行letters_print 存储过程。
(2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。
CREATE PROCEDURE stu_info @name varchar(40)ASSELECT a.学号,姓名,课程编号,分数FROM student_info a INNER JOIN grade taON a.学号= ta.学号WHERE 姓名= @name使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。
数据库课程实验报告
数据库课程实验报告《数据库课程实验报告》在数据库课程的学习中,学生们经常会进行一些实验来加深对数据库知识的理解和掌握。
这些实验旨在让学生通过实际操作,掌握数据库的设计、实现和管理技能,同时培养学生的数据分析和处理能力。
在本文中,我们将分享一些数据库课程实验的报告,以及实验过程中的一些收获和体会。
实验一:数据库设计与实现在这个实验中,我们学习了数据库的设计原理和实现方法。
通过对一个实际的案例进行数据库设计,我们了解了实体关系模型(ERM)的建模方法,以及如何将实体关系模型转化为关系模式。
在实现阶段,我们学习了SQL语言的基本操作,包括创建表、插入数据、查询数据等。
通过这个实验,我们深刻理解了数据库设计的重要性,以及如何通过SQL语言对数据库进行操作。
实验二:数据库管理与优化在这个实验中,我们学习了数据库的管理和优化技术。
我们了解了数据库的备份和恢复方法,以及如何进行性能优化和索引优化。
通过实验操作,我们学会了如何监控数据库的性能,并对数据库进行优化。
这个实验让我们认识到了数据库管理的重要性,以及如何通过合理的管理和优化手段提高数据库的性能和稳定性。
实验三:数据分析与报表生成在这个实验中,我们学习了如何通过数据库进行数据分析和报表生成。
我们掌握了数据分析的基本方法和技巧,以及如何通过SQL语言进行数据挖掘和统计分析。
通过实验操作,我们学会了如何利用数据库工具生成各种报表,并对数据进行可视化分析。
这个实验让我们认识到了数据库在数据分析和业务决策中的重要作用,以及如何通过数据库技术提高数据分析的效率和准确性。
通过这些实验,我们不仅加深了对数据库知识的理解和掌握,还培养了数据分析和处理能力。
我们相信,在今后的学习和工作中,这些知识和技能都将对我们有很大的帮助。
数据库课程实验不仅是理论知识的巩固和实践的机会,更是对我们未来发展的有益补充和支持。
希望我们能够在未来的学习和工作中,不断提升自己的数据库技能,为自己的发展打下坚实的基础。
Oracle数据库 实验报告
在SQL*PLUS或PL/SQL Developer工具中编写PL/SQL的简单程序,熟悉PL/SQL的编程环境和代码结构。实现与Oracle数据库交互,并捕获和处理常见系统异常和用户自定义异常。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实现下面功能:
使用游标实现:将某门课程高于平均分的学生的姓名,课程名,成绩格式化输出。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验一 了解ORACLE环境,使用ORACLE数据库实用工具
( 验证性实验 4学时)
1.目的要求:
了解ORACLE数据库的各个常用工具软件
2.实验内容:
在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验六 触发器,序列及同义词
( 验证性实验 6学时)
数据库实验报告
数据库实验报告本次数据库实验的主要内容是对关系数据库的设计和实现。
通过实验,我们将学习如何使用SQL语言创建数据库、表格和索引,并进行数据的插入、查询、更新和删除操作。
同时,我们还将学习如何进行数据库的备份和恢复,以及优化数据库的性能。
在实验开始之前,我们首先需要明确数据库设计的目标和需求。
根据实际情况,我们需要分析业务需求,确定数据库中需要存储的数据类型和结构。
在设计数据库时,我们需要考虑数据的完整性、一致性和安全性,同时也要考虑数据库的性能和扩展性。
接下来,我们将使用SQL语言创建数据库和表格。
在创建数据库时,我们需要指定数据库的名称和字符集,以及其他相关的参数。
在创建表格时,我们需要指定表格的结构,包括字段的名称、数据类型、约束条件等。
通过SQL语句,我们可以创建主键、外键、索引等约束条件,以确保数据的完整性和一致性。
在数据库设计和创建完成后,我们将进行数据的插入、查询、更新和删除操作。
通过SQL语句,我们可以向表格中插入新的数据,查询特定的数据,更新已有的数据,以及删除不需要的数据。
在进行这些操作时,我们需要注意数据的一致性和安全性,避免出现数据丢失或错误。
除了基本的数据操作,我们还将学习数据库的备份和恢复操作。
通过备份数据库,我们可以将数据库的数据和结构保存到外部存储设备中,以防止数据丢失。
而通过恢复操作,我们可以将备份的数据和结构重新导入到数据库中,以恢复数据库的状态。
最后,我们还将学习如何优化数据库的性能。
通过索引、分区、缓存等技术,我们可以提高数据库的查询和更新速度,减少数据库的空间占用,以及提高数据库的可用性和可靠性。
通过本次数据库实验,我们将掌握关系数据库的设计和实现技术,提高数据库管理和应用的能力,为今后的数据库开发和应用奠定基础。
同时,我们也将学会如何使用SQL语言进行数据库操作,提高数据处理和管理的效率和准确性。
希望本次实验能够帮助大家更好地理解和应用数据库技术,提高数据管理和应用的水平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六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课程的学生学号,并取消重复的数据。
二、遇到的问题及解决
该实验中,由于对SQL中语句的不熟悉,多次导致了输入错误,得不到实验结果,对存在量词EXISTS陌生,不熟悉,导致实验步骤中的13小题无法根据题目要求完成,要对书本上的知识加以熟悉。
三、心得体会
在实验过程中,要独立思考、独立完成实验任务,不懂的要虚心向教师或同学请教,这样自己才会学到真的东西,对自己有所提升,并且可以为专业课程有所帮助。