数据库第四次实验

合集下载

北邮大三数据库实验四数据库接口实验

北邮大三数据库实验四数据库接口实验

北邮大三数据库实验四数据库接口实验在北邮大三的学习进程中,数据库实验四——数据库接口实验,成为了我们深入探索数据库世界的重要一步。

这一实验不仅考验着我们对数据库理论知识的掌握,更要求我们具备将理论应用于实际操作的能力。

数据库接口实验的目的在于让我们理解和掌握如何通过编程实现与数据库的交互。

这意味着我们要学会使用特定的编程语言和数据库连接技术,来执行诸如数据的插入、查询、更新和删除等操作。

对于计算机专业的学生来说,这是一项至关重要的技能,因为在实际的软件开发中,几乎所有的应用都需要与数据库进行有效的沟通和数据管理。

在开始实验之前,我们首先需要明确实验所使用的数据库管理系统。

常见的有 MySQL、Oracle、SQL Server 等。

不同的数据库管理系统在语法和功能上可能会有一些细微的差异,但基本的操作原理是相通的。

以 MySQL 为例,我们需要安装 MySQL 服务器,并在本地创建数据库和表结构。

接下来,选择合适的编程语言来实现数据库接口。

Java 是一种广泛使用的编程语言,具有强大的数据库连接和操作能力。

通过使用 Java的 JDBC(Java Database Connectivity)库,我们可以建立与数据库的连接,并执行各种 SQL 语句。

在编写代码时,第一步是加载数据库驱动程序。

这就像是为通往数据库的道路铺上了基石。

然后,通过指定数据库的 URL、用户名和密码,建立与数据库的连接。

一旦连接成功,我们就可以创建 Statement 对象来执行 SQL 语句。

例如,要向数据库中插入一条数据,我们可以编写如下代码:```javaString sql ="INSERT INTO students (name, age) VALUES ('张三', 20)";Statement statement = connectioncreateStatement();statementexecuteUpdate(sql);```查询数据则通常使用`SELECT` 语句,如下所示:```javaString sql ="SELECT FROM students WHERE age > 18";ResultSet resultSet = statementexecuteQuery(sql);while (resultSetnext()){String name = resultSetgetString("name");int age = resultSetgetInt("age");Systemoutprintln("姓名:"+ name +",年龄:"+ age);}```更新和删除数据的操作与插入类似,只是使用的 SQL 语句不同。

数据库实验四

数据库实验四

数据库实验四在学习数据库的过程中,实验是帮助我们深入理解和掌握相关知识的重要环节。

本次数据库实验四主要围绕着数据库的查询、更新以及数据完整性等方面展开。

实验的目的是让我们通过实际操作,更加熟练地运用 SQL 语句来处理数据库中的数据,同时加深对数据库原理和概念的理解。

在实验开始之前,我们首先需要准备好相关的数据库环境。

这包括安装数据库管理系统,如 MySQL 或 SQL Server 等,并创建好实验所需的数据库和数据表。

本次实验中,我们创建了一个名为“students”的数据库表,用于存储学生的基本信息,如学号、姓名、年龄、性别和所在班级等。

同时,还创建了一个名为“courses”的表,用于存储课程的信息,包括课程编号、课程名称和授课教师等。

接下来,就是实验的核心部分——数据查询操作。

通过使用 SQL 的 SELECT 语句,我们可以从数据库中获取所需的数据。

例如,要查询所有年龄大于 20 岁的学生信息,可以使用以下语句:```sqlSELECT FROM students WHERE age > 20;```除了简单的条件查询,我们还学习了如何进行多表连接查询。

比如,要获取同时选修了“数据库原理”和“操作系统”两门课程的学生信息,就需要将“students”表、“courses”表以及选课关系表进行连接查询。

数据更新操作也是实验中的重要内容。

通过使用 UPDATE 语句,我们可以对数据库中的数据进行修改。

但在进行数据更新时,一定要谨慎操作,确保更新的结果符合预期,避免造成数据的错误或丢失。

例如,如果要将某个学生的年龄增加一岁,可以使用以下语句:```sqlUPDATE students SET age = age + 1 WHERE student_id ='_____';```在实验过程中,数据完整性的维护也是至关重要的。

我们通过设置主键、外键以及各种约束条件,来确保数据的准确性和一致性。

数据库实验4 索引、数据完整性与安全性

数据库实验4 索引、数据完整性与安全性

实验四索引、数据完整性与安全性一、实验目的(1) 掌握利用SQL Server Management Studio和SQL语言建立、删除索引的方法;(2) 掌握利用SQL Server Management Studio和SQL语言实现数据完整性的方法;(3) 掌握在SQL Server Management Studio中实现数据安全性管理的方法。

二、实验原理1.索引在关系型数据库中,索引是一种可以加快数据检索的数据库结构。

SQL Server系统中主要有两种类型的索引,即聚集索引、非聚集索引。

(1)聚集索引聚集索引定义了数据在表中存储的物理顺序。

一个表只能定义一个聚集索引。

(2)非聚集索引非聚集索引并不存储表数据本身。

相反,非聚集索引只存储指向表数据的指针,该指针作为索引键的一部分,因此,在一个表中同时可以存在多个非聚集索引。

(3)利用SQL命令建立索引简化语法格式:CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]INDEX index_name ON {table|view}(column|ASC|DESC][,…n])其中:UNIQUE。

可选。

该选项用于通知SQL Server索引中列出的列的值是每行唯一的。

如果试图插入重复的行,则该选项会强制SQL Server返回一个错误信息。

CLUSTERED或NONCLUSTERED。

可选。

如果这两个选项都没有被明确列出,则默认将索引创建为NONCLUSTERED(非聚集索引)。

(4)通过SQL命令删除索引语法格式:DROP INDEX ‘table.index|view.index’[,…n]2.表主键和UNIQUE约束表主键通过表数据中一个列或者多个列组合的数据来唯一标识表中的每一行数据。

即表主键就是用来约束数据表中不能存在相同的两行数据。

在SQL Server系统中,定义表的主键可以在创建表的同时定义,也可以给已有的表添加主键。

北邮大三数据库实验四数据库接口实验

北邮大三数据库实验四数据库接口实验

北邮大三数据库实验四数据库接口实验在北邮大三的学习进程中,数据库实验四——数据库接口实验,成为了我们深入探索数据库世界的重要一步。

这一实验不仅考验着我们对数据库理论知识的掌握程度,更要求我们将理论付诸实践,通过实际操作来实现数据库与应用程序之间的有效交互。

数据库接口是连接数据库与应用程序的桥梁,它使得应用程序能够方便地访问和操作数据库中的数据。

在本次实验中,我们主要使用了常见的数据库接口技术,如 ODBC(Open Database Connectivity,开放数据库连接)和 JDBC(Java Database Connectivity,Java 数据库连接)。

实验开始之前,我们首先需要对实验的目标和要求有清晰的认识。

本次实验的主要目标是掌握如何使用数据库接口来实现对数据库的增删改查操作,同时要能够处理可能出现的异常情况,确保数据的完整性和一致性。

为了达到这个目标,我们需要熟练掌握相关的编程语言和数据库操作语句。

在实验中,我选择了使用 Java 语言和 MySQL 数据库来完成任务。

首先,通过配置 JDBC 驱动程序,建立了与 MySQL 数据库的连接。

这一步看似简单,实则需要对数据库的连接参数有准确的设置,包括数据库的地址、端口号、用户名和密码等。

一旦连接建立成功,就如同打开了通往数据库宝藏的大门。

接下来就是实现具体的数据库操作功能。

对于数据的查询操作,我们需要使用 SQL(Structured Query Language,结构化查询语言)语句来指定查询的条件和要返回的字段。

例如,要查询某个表中所有年龄大于 20 岁的学生记录,就可以编写如下的 SQL 语句:```sqlSELECT FROM students WHERE age > 20;```通过 JDBC 提供的接口方法,将这条 SQL 语句发送到数据库执行,并获取返回的结果集。

在处理结果集时,需要小心地读取每一行数据,并将其进行相应的处理和展示。

数据库第四次上机实验报告

数据库第四次上机实验报告

数据库第四次上机实验报告班级:姓名:学号:实验日期:一、实验目的熟悉掌握数据库设计开发的整个过程。

二、实验内容a.从需求分析入手,按数据库设计的方法和步骤设计并在计算机上实现一个数据库:供应商――零件――工程。

已知语义是:(1)一个供应商可以提供多种零件;而每种零件由多个供应商供应;(2)每种零件为多个工程使用,而每项工程又需要多种零件;(3)每个供应商有姓名、编号和住址;每种零件有零件名、编号、颜色;每项工程有工程(4)名、编号和地址。

b.在从此数据库基础上编写小应用程序实现以下查询功能:(1)给出为某项工程提供零件的全部供应商名;(2)给出使用某供应商所供零件的全部工程名;(3)给出使用红色零件的工程名;(4)给出住在A地而为不在A地、且不使用红色零件的工程提供零件的供应商名;(5)给出使用某供应商供应的全部零件的工程名。

三、实验步骤1、数据库关系设计E-R图根据任务描述,得到E-R图如下图所示。

2、给出数据模型和关系模式根据E-R图,需要建立S、P、J、SPJ共计4个关系模式来描述整个关系,他们包含:S(SNO,SNAME,CITY),分别代表供应商及其编号、名称、地址,主码为SNO。

P(PNO,PNAME,COLOR),分别代表零件及其编号、名称、颜色,主码为PNO。

J(JNO,JNAME,CITY),分别代表工程及其编号、名称、地址,主码为JNO。

SPJ(SNO,PNO,JNO),代表工程所需零件供应商关系。

3、录入数据SPJSPJ4、建立SQL,录入与查询(1)建立表格CREATE TABLE S( SNAME V ARCHAR (50) NOT NULL,SNO V ARCHAR(50) PRIMARY KEY,CITY V ARCHAR (50) NOT NULL);CREATE TABLE P( PNAME V ARCHAR (50)NOT NULL,SNO V ARCHAR (50) PRIMARY KEY,COLOR V ARCHAR (50)NOT NULL);CREATE TABLE J(JNAME V ARCHAR (50)NOT NULL,JNO VARCHAR(50) PRIMARY KEY,CITY V ARCHAR (50)NOT NULL);CREATE TABLE SPJ(SNO CHAR(50) NOT NULL,PNO CHAR(50) NOT NULL,JNO CHAR(50) NOT NULL);(2)录入信息INSERT INTO S V ALUES ('华为','S1','广东'); INSERT INTO S V ALUES ('小米','S2','上海'); INSERT INTO S V ALUES ('苹果','S3','江苏'); INSERT INTO S V ALUES ('三星','S4','北京');INSERT INTO P V ALUES ('芯片','P1','红'); INSERT INTO P V ALUES ('声卡','P2','绿'); INSERT INTO P V ALUES ('显示屏','P3','黑'); INSERT INTO P V ALUES ('显示屏','P4','蓝'); INSERT INTO P V ALUES ('耳机','P5','红'); INSERT INTO P V ALUES ('外壳','P6','白');INSERT INTO J V ALUES ('P30','J1','南京'); INSERT INTO J V ALUES ('PRO','J2','北京'); INSERT INTO J V ALUES ('GALAXY','J3','新疆'); INSERT INTO J V ALUES ('REDMI','J4','吉林'); INSERT INTO J V ALUES ('HONOR','J5','广东');INSERT INTO SPJ V ALUES ('S2','P2','J1'); INSERT INTO SPJ V ALUES ('S4','P3','J1'); INSERT INTO SPJ V ALUES ('S3','P6','J1'); INSERT INTO SPJ V ALUES ('S2','P1','J2'); INSERT INTO SPJ V ALUES ('S1','P3','J2'); INSERT INTO SPJ V ALUES ('S4','P5','J2'); INSERT INTO SPJ V ALUES ('S4','P2','J3'); INSERT INTO SPJ V ALUES ('S3','P4','J3'); INSERT INTO SPJ V ALUES ('S3','P5','J3');INSERT INTO SPJ V ALUES ('S2','P1','J4');INSERT INTO SPJ V ALUES ('S4','P4','J4');INSERT INTO SPJ V ALUES ('S1','P2','J4');(3)SQL查询1、给出为工程J1提供零件的全部供应商名SELECT DISTINCT SNAMEFROM S,SPJWHERE S.SNO=SPJ.SNO AND JNO=‘J1’;2、给出使用供应商S2所供零件的全部工程名SELECT JNAMEFROM JWHERE JNO IN (SELECT JNOFROM SPJWHERE SNO = ‘S2’);3、给出使用红色零件的工程名SELECT JNAMEFROM JWHERE JNO IN (SELECT JNOFROM SPJ, PWHERE COLOR = ‘红’ AND SPJ.PNO = P.PNO);4、给出住在北京而为不在北京、且不使用红色零件的工程提供零件的供应商名SELECT DISTINCT SNAMEFROM S, P, SPJWHERE S.SNO = SPJ.SNO AND P.PNO = SPJ.PNO AND SCITY = ‘北京’ AND S.CITY != J.CITYAND SPJ.PNO NOT IN(SELECT SPJ.PNOFROM P, SPJWHERE P.PNO = SPJ. PNO AND COLOR = ‘红’ );5、给出使用供应商S3供应的全部零件的工程名SELECT JNAMEFROM JWHERE NOT EXISTS(SELECT *FROM SPJWHERE NOT EXISTS(SELECT *FROM SPJWHERE SNO = ‘S3’);5、用户界面设计采用Delphi 7进行用户界面设计。

国开学习网电大数据库应用技术第四次形考作业实验结果

国开学习网电大数据库应用技术第四次形考作业实验结果

国开学习网电大数据库应用技术第四次形考作业实验结果一、实验目的1. 加深对数据库原理与技术的理解。

2. 巩固数据库设计、建立及查询的基本技能。

3. 提高学生运用大数据库技术解决实际问题的能力。

二、实验要求1. 独立完成实验,确保实验数据的准确性与合理性。

2. 按照实验指导书要求,完成实验报告的撰写。

3. 实验报告需包含实验目的、实验环境、实验步骤、实验结果及实验总结。

三、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 8.03. 编程语言:Python 3.84. 开发工具:Visual Studio Code四、实验步骤1. 数据库设计:根据实验要求,设计合适的数据库表结构。

- 创建学生表(student),包含学号(id)、姓名(name)、性别(gender)、年龄(age)等字段。

- 创建课程表(course),包含课程编号(id)、课程名称(name)、学分(credit)等字段。

- 创建选课表(elective),包含学生编号(student_id)、课程编号(course_id)、成绩(score)等字段。

2. 数据库建立:在MySQL中执行SQL语句,创建实验所需的数据库及表。

CREATE DATABASE IF NOT EXISTS education;USE education;CREATE TABLE IF NOT EXISTS student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),gender ENUM('男', '女'),age INT);CREATE TABLE IF NOT EXISTS course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100),credit INT);CREATE TABLE IF NOT EXISTS elective (student_id INT,course_id INT,score INT,PRIMARY KEY (student_id, course_id),FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id));3. 数据查询:运用SQL语句进行数据查询。

国开学习网电大数据库应用技术第四次形考作业实验结果

国开学习网电大数据库应用技术第四次形考作业实验结果

国开学习网电大数据库应用技术第四次形
考作业实验结果
实验目的
本次实验旨在通过应用数据库技术,对国开研究网电大数据库
进行操作和管理,以提升数据的存储和查询效率。

实验过程
1. 数据库连接:使用合适的数据库连接工具,连接到国开研究
网电大数据库。

2. 数据录入:根据实验要求,将指定的数据录入到数据库中,
确保数据的准确性和完整性。

3. 数据查询:使用SQL语句,对数据库中的数据进行查询操作,查找符合特定条件的数据。

4. 数据更新:根据实验要求,对数据库中的数据进行更新操作,如修改、删除等。

5. 数据备份:定期进行数据库的备份,以防止数据丢失或损坏。

实验结果
经过实验操作,以下是本次实验的结果总结:
1. 成功连接到国开研究网电大数据库,并能够正常进行数据操作和管理。

2. 数据录入工作完成,所有指定数据已成功录入到数据库中。

3. 数据查询操作正常,能够根据特定条件准确地查找到所需的数据。

4. 数据更新操作成功,根据实验要求对数据库中的数据进行了相应的修改和删除。

5. 数据备份工作按计划进行,确保了数据库数据的安全性和完整性。

实验总结
本次实验通过应用数据库技术,对国开研究网电大数据库进行了操作和管理。

通过实验,加深了对数据库的理解和应用,提高了数据的存储和查询效率。

同时,也加强了对数据备份的重视,确保了数据的安全性。

通过本次实验,我对数据库应用技术有了更深入的了解,并掌握了相关操作和管理技能。

请注意:以上实验结果仅为参考,具体实验结果可能因个人操作和环境差异而有所不同。

实验结果以实际操作为准。

数据库实验四

数据库实验四

《数据库管理系统》实验报告2011/2012学年第2学期实验项目:数据库班级:学生:(学号********* )地点:经管院A 实验室机器号:指导教师:时间:2012 年 6 月 3 日经济管理学院信息管理教研室实验四:数据库综合实验一、实验目的1.了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,掌握查询条件表达式和使用方法;2.掌握Windows NT认证模式下数据库用户帐号的建立与取消方法;3.掌握混合模式下数据库用户帐号的建立与取消方法;4.掌握数据库用户权限的设置方法;5.熟悉数据库数据库用户帐号的权限分配、回收等方法;6.了解数据库角色的分类、作用及使用方法。

7.掌握主键约束、外键约束及及check约束的用法;8.掌握默认值约束的应用;9.了解规则、触发器的使用。

10.熟悉数据库备份及恢复机制;11.了解SQL Server的数据备份和恢复机制;12.掌握SQL-Server中数据库备份和恢复的方法。

二、实验环境已安装SQL Server 2005的计算机;具有局域网网络环境,有ip地址;三、实验要求1.学会用DDL语言进行对表、索引、视图的增加、删除和改动;2.了解SQL Server 2005系统安全;3.熟悉数据库用户、服务器角色及数据库角色的用法;4.熟悉数据库完整性相关概念及约束;5.了解约束、默认值及规则;6.了解创建备份设备和进行数据库完全备份操作的方法;7.了解进行数据库恢复的步骤;8.完成实验报告;四、实验内容及步骤(一)用T-SQL语句操作索引、视图1.建立计算机科学系学生的视图2.由学生、课程和选修课三个表,定义一个计算机科学系的学生成绩视图,其属性包括学号、姓名、课程名和成绩3.将学生的学号、总成绩、平均成绩定义成一个视图4.对student表按学号降序建唯一索引,索引名stunods。

5.删除索引stunods。

(二)数据库的安全性以系统管理员身份登录到SQL Server服务器,在SQL Server2005界面中实现以下操作,并独立写出部分题目的程序代码;1.在当前计算机中增加一个用户zhang和cheng,密码为secret。

国开学习网电大数据库应用技术第四次形考作业实验答案

国开学习网电大数据库应用技术第四次形考作业实验答案

国开学习网电大数据库应用技术第四次形考作业实验答案实验目的:通过使用SSMS工具,练习对数据库中的数据表进行单表查询、多表连接查询、子查询。

对数据表中的数据进行更改和删除等操作。

实验要求:将相关的SQL 语句和运行结果的截屏保存在文件中,或填写在下面的实验报告中,并通过网络提交。

实验内容:使用SSMS工具,在“可用数据库”中选中Students数据库,完成如下实验。

1. 单表查询。

写出实现如下查询的SQL语句。

(1) 查询学生选课表中的全部数据。

SELECT * FROM SC(2) 查询计算机系的学生的姓名、年龄。

SELECT Sname,Sex FROM Student WHERE Sdept='计算机系'(3) 查询成绩在70~80分的学生的学号、课程号和成绩。

SELECT Sno,Cno,Grade FROM SC where Grade BETWEEN 70 AND 80;(4) 查询计算机系年龄在18~20岁男生的姓名、年龄。

SELECT Sname,Sage from Student where Sex='男' AND Sage>18 AND Sage<20(5) 查询C001课程的考试成绩最高分。

SELECT max(Grade) from SC where Cno='C001'(6) 查询计算机系学生的最大年龄和最小年龄。

SELECT max(Sage) '最大年龄',min(Sage) '最小年龄' from Student where Sdept='计算机系' (7) 统计各系的学生人数。

SELECT Sdept,count(Sno)'人数' from Student GROUP BY Sdept;(8) 统计每门课程的选课人数和考试成绩最高分。

SELECT cno,count(Sno) '选课人数',max(Grade)'最高成绩' FROM SC GROUP BY Cno;(9) 统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。

湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全

湖南大学数据库实验四 完整性约束、视图、存储过程和数据安全

实验四完好性束缚、视图、存储过程和数据平安之杨若古兰创作实验目的:1、把握创建各种实体完好性束缚的方法.2、把握创建和使用视图、存储过程和索引的方法.3、把握视图实现数据平安的基本方法.4、把握数据库的基本备份和恢复技术.实验内容:本实验在ORACLE数据库平台上进行操纵,ORACLE数据库的基本操纵请参考实验二,本实验中的各种数据都来自于实验三中的各个表.实验次要内容如下:1、进修创建四类完好性束缚的方法.2、进修创建视图、存储过程和索引的方法.3、进修利用用户管理,角色管理,和利用视图实现数据平安.4、进修ORACLE数据库的基本备份和恢复技术.实验过程:方法一:create table course (cno varchar(10) not null,dno char(8) not null,cname varchar(20) not null,hours number not null,term number not null,credit number not null,constraint pk_course primary key (cno));方法二:altertablecourseaddconstraintpk_courseprimary key(cno) ;alter table COURSEadd constraint FK_COURSE_DEPARTMEN_DEPARTME foreign key (dno)references department (dno);前面建表时用的数据类型,NOT NULL等都属于域束缚;alter table student add constraint chk_sex check (sex in ('男','女'));alter table student modify sex default '男';alter table student_course_teacher add constraint chk_score check (score>=0 AND score<=100);用触发器实现一下:create or WordStr trigger tri_del_teacherafter delete on teacherfor each rowdeclare-- local variables herebegindelete from teacher_coursewhere tno=:old.tno;delete from student_course_teacherwhere tno=:old.tno;end tri_del_teacher;/备注:最初面的斜杠“/”不克不及少.createview myview_course asselect s.sno 学号, sname 姓名, classno 班级from student s,teacher t,course c,student_course_teacher sctwhere t.tname ='杨金民'and ame ='数据库零碎'and sct.semester = '2010/01'andandand o = o;创建存储过程:createorWordStrprocedure myproc(cname1 varchar2,semester1 varchar2)asclassno1 student.classno%type;avg1 integer;beginselect classno, avg(score)into classno1,avg1from student s, course c, student_course_teacher sctwhere ame = cname1and sct.semester =semester1andandandrownum=1groupby classno;dbms_output.put_line('班级编号:'||classno1||' '||'平均分:'||avg1);end;/创建成功当前,使用存储过程:CALL myproc('数据库零碎','2010/01');create index my_student_idx on student(sex); ----对表中的SEX 建立索引create user test identified by tiger; -----创建grant connect to test; -----连接GRANT {privilegeList | ALL PRIVILEGES}---授权ON ObjectNameTO {AuthorizationIdList | PUBLIC}[WITH GRANT OPTION]create role myrole; ------创建grant select on maqiang.teacher_course to myrole; ----授权grant select on maqiang.student to myrole;grant myrole to test; -----使用户具有mvrole的权限select * from maqiang.teacher_course; ---验证是否具有该权限select * from maqiang.student;revoke myrole from test; ---取消角色权限create view myview_student as select sno,sname from maqiang.student; ----创建grant select on myview_student to test; -----授权将student_course_teacher表进行备份和恢复.缓冲区大小:可以更改,这里就用的默认值;导出文件:输入导出路径,文件名后缀.dmp;用户,表:这里可以选择是导出用户下所有的,还是选定的表,如果具有管理员权限,则可多一个选项,导出全部数据库.导出表数据:选择yes的话就会把表的数据也导出,no的话就只导出表结构,不导出数据;紧缩区:选择yes会进行紧缩.要导出的表或分区:这里填写要导出的表名,本例中就是student_course_teacher,可以看到,成功导出,如果还要导出此表面,接着输入表名,没了的话就直接回车结束.首先:删除表, drop table student_course_teacher;然后,利用上面的备份文件恢复表student_course_teacher 小结:通过本次试验,把握了四类完好性束缚的写法,学会创建和使用视图,进一步了解数据平安和数据库的基本备份和恢复技术.。

兰州大学数据库第四次实验视图

兰州大学数据库第四次实验视图

实验十创建视图一.实验目的1.掌握创建视图的SQL语句的用法。

2.掌握使用企业管管理器创建视图的方法。

3.掌握使用创建视图向导创建视图的方法。

4.掌握查看视图的系统存储过程的用法。

5.掌握修改视图的方法。

二.实验准备1.了解创建视图方法。

2.了解修改视图的SQL语句的语法格式。

3.了解视图更名的系统存储过程的用法。

4.了解删除视图的SQL语句的用法。

三.实验要求1.用不同的方法创建视图。

2.提交实验报告,并验收实验结果。

四.实验内容1.创建视图(1)使用企业管理器创建视图①在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学生”的视图。

在使用该视图时,将显示“student”表中的所有字段.右击视图——新建视图——添加student表——选择所有列——在spno筛选器中填写‘=计算机’(2) 使用SQL语句创建视图①在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE;②建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;2.修改视图(1) 使用企业管理器修改视图在企业管理器中将视图COMPUTE_AVG_GRADE中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。

右击视图COMPUTER_AVG_GRADE——设计——将筛选器中的院系的值改为数学院(2) 使用SQL语句修改视图①在查询分析器中使用更改视图的命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。

3.删除视图(1)使用企业管理器删除视图用企业管理器删除视图“V_计算机系学生”右击视图“V_计算机系学生”——删除——确定用SQL语句删除视图COMPUTE_AVG_GRADE;实验十一使用视图一.实验目的1.熟悉和掌握对数据表中视图的查询操作和SQL命令的使用;2.熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系3.学习灵活熟练的进行视图的操作,认识视图的作用二.实验准备1.熟悉SQL SERVER 工作环境。

北邮数据库第四次实验

北邮数据库第四次实验

数据库第四次实验报告学院:班级:姓名:学号:实验四数据库的查询实验(两次内容)1.简单查询:(第一部分的实验)实验要求:(1) 查询班号为g00401班的学生的学号和姓名;(2) 查询“数据库开发技术”课程的学分;(3) 查询选修了课程编号为“dep04_s003”的学生的学号和成绩,并将成绩按降序输出;(4) 查询学号为“g”的学生选修的课程编号和成绩;(5) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。

实验步骤:(下面用代码、截图以与注释来体现)(1)查询班号为g00401班的学生的学号和姓名;代码为:select student_id,student_namefrom studentwhere class_id='g00401';截图为:因为student 表里并没有class_id=’g00401’这一项,所以查询结果为空,没有显示出该元组的值。

(2) 查询“数据库开发技术”课程的学分;代码为:select creditfrom coursewhere course_name='SQL Server数据库开发技术';截图为:可以看到结果查询结果是正确的。

(3)查询选修了课程编号为“dep04_s003”的学生的学号和成绩,并将成绩按降序输出;代码为:select student_id,gradefrom student_coursewhere course_id='dep04_s003'order by grade desc截图为:可以看到总共输出了7个符合条件的结果,分数按降序排列,实验完成。

(4) 查询学号为“g”的学生选修的课程编号和成绩;代码为:select course_id,gradefrom student_coursewhere student_id='g9940205';截图为:结果正确(5) 查询选修了课程编号为“dep04_s001”且成绩高于85分的学生的学号和成绩。

数据库实验报告4

数据库实验报告4

引言:正文内容:1.实验环境1.1数据库系统本次实验使用MySQL数据库系统,版本号为8.0。

MySQL是一种开源的关系型数据库管理系统,广泛应用于大型企业和互联网应用中。

1.2实验数据实验数据采用了一个包含500万条记录的学生信息表。

该表包括学生ID、姓名、年龄、性别等字段,用于模拟真实的数据库环境。

2.查询优化2.1查询优化的概念查询优化是指通过调整查询语句和索引设计,使得查询能够以更高效和更快速的方式执行。

查询优化是数据库性能优化的重要手段,可以提高数据库查询的响应时间和吞吐量。

2.2查询优化技术2.2.1索引优化索引是数据库中用于加快查询速度的数据结构。

可以通过创建适当的索引,优化查询的性能。

在本次实验中,我们对学生信息表的姓名字段创建了B+树索引,以加速按姓名查询的速度。

2.2.2查询重写查询重写是指通过改变查询语句的结构,使得查询能够以更高效的方式执行。

例如,可以将一个复杂的查询拆分成多个简单的查询,或者使用子查询替代复杂的关联查询。

2.2.3统计信息收集统计信息包括表的行数、列的唯一值数量、列的最大值和最小值等。

数据库系统可以根据统计信息来选择查询执行的最优路径。

在本次实验中,我们使用了MySQL的统计信息收集工具对学生信息表进行统计信息收集。

3.索引设计3.1索引的概念索引是数据库中对表中一列或多列的值进行排序的数据结构。

通过使用索引,可以加快对表的查询和排序操作的速度。

3.2索引的种类3.2.1B+树索引B+树索引是一种高效的索引结构,适用于范围查询和排序操作。

在本次实验中,我们使用B+树索引对学生信息表的姓名字段进行了索引设计。

3.2.2哈希索引哈希索引是一种适用于等值查询的索引结构,适用于对主键或唯一键进行查询。

在本次实验中,我们未对学生信息表的其他字段创建哈希索引。

3.3索引设计原则3.3.1选择适当的索引列选择适当的索引列是索引设计的关键。

通常应选择具有高选择性和频繁查询需求的列作为索引列。

数据库实验4-实验报告

数据库实验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. 数据库创建:使用合适的数据库管理系统,创建相应的数据库。

4. 数据导入:将实验所需的数据导入数据库中。

5. 数据操作:根据功能需求,进行数据的增删改查等操作。

6. 数据分析:对数据库中的数据进行分析,获取所需的统计结果。

7. 结果验证:根据实验要求,验证实现的功能是否符合预期。

实验结果
通过以上步骤,完成了对国开学习网电大数据库的应用技术实验。

实验结果如下:
1. 成功创建了数据库,并按照设计的表结构进行了数据导入。

2. 实现了对数据库的增删改查等基本操作,并验证了其正确性。

3. 进行了一定的数据分析,得到了所需的统计结果。

4. 所有功能需求均得到了满足,并通过验证确保了其准确性和
完整性。

总结
本次实验通过应用数据库技术,成功完成了对国开学习网电大
数据库的操作和分析。

实验结果表明所实现的功能满足了预期,并
且数据库的设计和操作都没有出现法律上的复杂问题。

在今后的学
习和工作中,可以继续发挥数据库应用技术的优势,追求简单的策略,避免引入无法确认的内容,以独立决策为原则。

数据库第四次实验报告

数据库第四次实验报告

数据库第四次实验报告南昌航空大学试验报告二0一年月日课程名称:数据库概论试验名称:存储过程及触发器班级:姓名:同组人:指导教师评定:签名:试验参考代码及结果存储过程:创建存储过程9.11CRETE PROCEDURE Select_S S SELECT * FROM S WHERE sex=女GOExecute Select_S9.12CRETE PROCEDURE InsRecToS(@sno chr(5),@sn vrchr(8),@sex chr(2)=男,@ge int,@dept vrchr(20)) S INSERT INTO S VLUES(@sno,@sn,@sex,@ge,@dept) GOExecute InsRecToS @sno=S8,@sn=罗兵,@ge=18,@dept=信息执行前:执行后:9.13CRETE PROCEDURE Query_S(@Sno chr(5),@SN VRCHR(8) OUTPUT,@ge SMLLINT OUTPUT)SSELECT @sn=sn,@ge=geFROM SWHERE Sno=@Sno〔2〕执行存储过程Declre @SN VRCHR(8),@GE SMLLINTexecute Query_S 98010,@SN OUTPUT,@GE OUTPUT SELECT @SN,@GE〔3〕查看和修改存储过程9.14LTER PROCEDURE[dbo].[InsRecTos] (@sno chr(5),@sn vrchr(8),@sex chr(2)=女,@ge smllint,@dept vrchr(20)) SINSERTINTO SVLUES(@sno,@sn,@sex,@ge,@dept)〔4〕查看、重命名和删除存储过程9.15exec sp_helptext Select_S9.16sp_renme Select_S,Select_Student执行后:9.17DROP PROCEDURE Select_Student执行后:〔5〕在DingBo数据库中创建存储过程C_P_Proc,实现参数化查询顾客订阅信息,查询参数为顾客姓名,要求能查询出参数指定顾客的顾客编号、顾客名、订阅报纸名及订阅报纸份数等信息。

数据库实验4 及答案

数据库实验4 及答案

实验报告课程名称数据库系统原理专业班级姓名学号电气与信息学院和谐勤奋求是创新实验教学考核和成绩评定办法1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。

实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。

2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。

3.实验考核内容包括:1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2 、0.4 、0.4;原则上根据上述三个方面进行综合评定。

学生未取得1)和2)项成绩时,第3)项成绩无效。

4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。

实验成绩在教师手册中有记载。

实验报告主要内容一.实验目的二.实验仪器及设备三.实验原理四.实验步骤五.实验记录及原始记录六.数据处理及结论七.实验体会(可选项)注:1. 为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。

2. 实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。

3. 验证性实验:是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。

4. 综合性实验:是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。

5. 设计性实验:是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。

实验题目 数据定义、操纵实验室 电信机房 实验时间2011 年 4 月 日实验类别 验证同组人数 1成 绩指导教师签字:一. 实验目的:掌握数据库、表、索引的创建、修改、删除,以及单表查询。

二. 实验内容:1.设有一数据库GradeManager(成绩管理),包括四个表:学生表(Student ),课程表(Course )、班级表(Class )以及成绩表(Grade )。

数据库安全管理第四次实验

数据库安全管理第四次实验

db_denydatareade 可与拒绝选择数据库中的数据 r db_denydatawrite r 可与拒绝更改数据库中的数据
添加数据库角色成员
(1)在企业管理器选择要管理的数据库,如demo (2)展开demo,单击“角色” (3)在右边窗口角色列表中选择db_owner,右击,选择 “属性”,如图9 (4)在“常规”选项卡中单击“添加”按钮弹出“添加 成员”对话框 (5)在“添加成员”对话框中选择要添加的数据库用户, 然后单击“确定”按钮 (6)此时在“数据库角色属性”对话框中出现新添加的 成员,然后单击“确定”完成数据库角色添加,如图10
图7
角色管理
SQL Server中角色分为:服务器角色、数据 库角色 服务器角色描述如:
使用企业管理器添加服务器角色
(1) 展开服务器组,然后展开需要进行角色管理的服 务器 (2)展开“安全性”,单击“服务器角色” (3)在右边窗口选中Sysadmin角色 (4)右击,选择属性,弹出“服务器角色属性”对话框 (5)选择“常规”选项卡,单击“添加”按钮,然后在 弹出的“添加成员”对话框中选择要添加的成员,如 图8 (6)单击“确定”按钮,返回“服务器角色属性”对话 框,新成员成功添加在登录列表中
图9
图10
权限管理
权限管理的内容: 授予权限:允许某个用户或角色对一个 对象执行某种操作 取消权限:不允许某个用户或角色对一 个对象执行某种操作
使用企业管理器管理用户权限
(1)在企业管理器中,展开要进行权限设置的数据库, 如demo (2)选择“用户”,在右边列出的用户中选择要设置权 限的用户 (3)右击该用户,选择“所有任务”->“管理权限”,弹 出“数据库用户属性”对话框 (4)在“数据库用户属性”对话框中根据实际需要执行 下列操作之一: 若要授予该用户对某个数据对象的访问权限,在相应 复选框打上 ,若不授予则相应打上 (5)单击“确定”按钮,使所作设置生效

第4次报告_数据库的安全性实验

第4次报告_数据库的安全性实验

西安邮电大学(计算机学院)课内实验报告实验:数据库的安全性实验课程:数据库原理及应用A 班级:计科1405学号:04141152学生姓名:高宏伟任课教师:孟彩霞一、实验目的1. 理解 SQL Server2000验证用户身份的过程,掌握设置身份验证模式的方法。

2. 理解登陆账号的概念,掌握混合认证模式下登陆账号的建立与取消方法。

3. 掌握混合认证模式下数据库用户的建立与取消。

4. 掌握数据库用户权限的设置方法。

5. 理解角色的概念,掌握管理角色技术。

二、实验内容1. 在企业管理器中打开 "SQL Server属性 "对话框,设置身份验证模式为 "SQL Server 和 Windows"模式。

2. 创建、管理数据库服务器的登陆账号。

①用 T-SQL 语句创建、查看、删除登录账号。

②在企业管理中使用 A5.2节中介绍的方法创建一个登陆账号。

3. 创建、管理数据库用户。

用户是基于数据库的名称适合登陆账号相关联的。

只有 DBA 和数据库所有这才有执行系统存储 sp_granddbaccess的权利。

①用 T-SQL 语句创建、查看、删除数据库用户。

②使用企业管理其创建、查看、删除数据库用户。

4. 管理用户权限。

5. 创建、管理数据库角色。

三、实验环境MS SQL Server 2016与SQL Server 2000四、实验前准备1.学习数据库的安全性。

五、实验步骤1. 数据库的安全性(1) 创建、管理、数据库服务器的登陆账号①创建一个名为student、密码为123456、使用默认数据库为JWGL的登陆账号。

EXEC sp_addlogin 'student','123456','JWGL'②查看登陆账号EXEC sp_helplogins③删除登陆账号EXEC sp_droplogin 'student'(2) 创建、管理数据库用户①为数据库JWGL创建一个用户user1,该用户登陆SQL Server服务器的账号为wang,登陆密码为123456,写出相应的代码为EXEC sp_addlogin 'wang','123456','JWGL'GOEXEC sp_grantdbaccess 'wang','user1'②查看数据库用户为EXEC sp_helpuser③删除数据库用户EXEC sp_revokedbaccess 'user1'(3) 创建、管理数据库角色①创建数据库角色EXEC sp_addrole 'role'GOGRANT SELECT ON Student TO roleGRANT SELECT ON Course TO roleGRANT SELECT,UPDATE,DELETE,INSERT ON SC TO roleGOEXEC sp_addrolemember 'role','user1'②查看数据库角色EXEC sp_helprole③删除数据库角色EXEC sp_droprolemember 'role','user1'EXEC sp_droprolemember 'role','user2'EXEC sp_droprolemember 'role','user3'EXEC sp_droprole 'role'第三章习题12.1EXEC sp_addlogin 'liming','123456','MARKET'EXEC sp_grantdbaccess 'liming','user1'GRANT INSERT,DELETE ON Orders TO user1第三章习题12.2EXEC sp_addlogin 'lisi','123456','MARKET'EXEC sp_grantdbaccess 'lisi','user2'GRANT SELECT ON Goods TO user2第三章习题12.3EXEC sp_addlogin 'wanger','123456','MARKET'EXEC sp_grantdbaccess 'wanger','user3'GRANT SELECT,UPDATE(Price) ON Goods TO user3 WITH GRANT OPTION六、实验结果1. 数据库的安全性(1) 创建、管理、数据库服务器的登陆账号①创建登陆账号②查看登陆账号③删除登陆账号(2) 创建、管理数据库用户①创建数据库用户②查看数据库用户③删除数据库用户(3) 创建、管理数据库角色①创建数据库角色②查看数据库角色③删除数据库角色第3章习题12第1题第3章习题12第2题第3章习题12第3题七、评价分析及心得体会通过这次实验理解了 SQL Server2000验证用户身份的过程,设置身份验证模式的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。

(5分)2.存储过程的创建与使用:(共计45分)(1)使用SPJ数据库中的S表、P表、J表、SPJ表,创建一个带参数的存储过程—jsearch。

该存储过程的作用是:当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME)。

执行jsearch存储过程,查询“J1”对应的信息。

(10分)(2)创建一个带有输出游标参数的存储过程jsearch2,功能同1),执行jsearch2,查询“J1”对应信息,并且将得到的结果用print语句输出到控制台。

(10分)(3)使用SPJ数据库中的S表,为其创建一个加密的存储过程—jmsearch。

该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。

(10分)(4)使用系统存储过程sp_helptext查看存储过程jsearch, jmsearch的文本信息。

(5分)(5)执行jmsearch存储过程,查看北京供应商的情况。

(5分)(6)删除jmsearch存储过程。

(5分)(1).(在上面的题目中spj表经过一些处理,有些数据可能和原表不太一样)创建存储过程CREATE PROCEDURE JSEARCH@JNO char(10)ASSELECT S.SNAME,J.JNAME,P.PNAMEFROM SPJ,P,S,JWHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO AND SPJ.JNO=@JNO执行存储过程exec JSEARCH'j1'\(2) 创建一个带有输出游标参数的存储过程jsearch2CREATE PROCEDURE JSEARCH2(@JNO CHAR(10),@SPJ_CURSOR CURSOR VARYING OUTPUT)ASSET@SPJ_CURSOR=CURSORFORSELECT J.JNAME,P.PNAME,S.SNAMEFROM S,P,J,SPJWHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO AND SPJ.JNO=@JNO OPEN@SPJ_CURSOR执行jsearch2,查询“J1”对应信息,并且将得到的结果用print语句输出到控制台。

DECLARE@JNAME CHAR(10),@SNAME CHAR(10),@PNAME CHAR(10)DECLARE@SPJ_CURSOR CURSOREXEC JSEARCH2'J1',@SPJ_CURSOR OUTPUTFETCH NEXT FROM@SPJ_CURSOR INTO@JNAME,@PNAME,@SNAMEWHILE(@@FETCH_STATUS=0)BEGINPRINT(@JNAME+@PNAME+@SNAME)FETCH NEXT FROM@SPJ_CURSOR INTO@JNAME,@PNAME,@SNAMEENDCLOSE@SPJ_CURSORDEALLOCATE@SPJ_CURSORGO(3).使用SPJ数据库中的S表,为其创建一个加密的存储过程—jmsearch。

该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。

创建存储过程USE SPJGOCREATE PROCEDURE jmsearch WITH ENCRYPTIONASBEGINSELECT*FROM SWHERE S.CITY='北京'ENDGO执行存储过程USE SPJGOEXEC JMSEARCHGO(4).使用系统存储过程sp_helptext查看存储过程jsearch, jmsearch的文本信息。

EXEC sp_helptext jsearchEXEC SP_HELPTEXT JMSEARCH(5).执行jmsearch存储过程,查看北京供应商的情况。

USE SPJGOEXEC JMSEARCHGO(6).删除jmsearch存储过程。

3.触发器的创建与使用:(共计30分,每小题5分)(1)在student数据库中建立一个名为insert_s的INSERT触发器,存储在S表中。

该触发器的作用是:当用户向S表中插入记录时,如果插入的sdept值为’CS’,’IS’,’MA’以外的值,则提示用户“不能插入记录这样的纪录”,否则提示“记录插入成功”。

触发器创建成功之后,向S表插入记录,验证触发器是否正常工作。

(2)为student数据库中的S表创建一个名为dele_s1的DELETE触发器,该触发器的作用是禁止删除S表中的记录。

触发器创建成功之后,删除S表中的记录,验证触发器是否正常工作。

(3)为student数据库中的S表创建一个名为dele_s2的DELETE触发器,该触发器的作用是删除S表中的记录时删除SC表中该学生的选课纪录。

触发器创建成功之后,删除S表中的记录删除S表中的记录,验证触发器是否正常工作(SC表中的数据被正常删除)。

(4)为student数据库中的S表创建一个名为update_s的UPDATE触发器,该触发器的作用是禁止更新S表中“sdept”字段的内容。

触发器创建成功之后,更新S表中“sdept”字段的内容,验证触发器是否正常工作。

(5分)(5)禁用update_s触发器。

禁用之后,更新S表中的“sdept”字段的内容,验证触发器是否还继续正常工作。

(6)删除update_s触发器。

(1).在student数据库中建立一个名为insert_s的INSERT触发器,存储在S表中。

该触发器的作用是:当用户向S表中插入记录时,如果插入的sdept值为’CS’,’IS’,’MA’以外的值,则提示用户“不能插入记录这样的纪录”,否则提示“记录插入成功”。

触发器创建成功之后,向S表插入记录,验证触发器是否正常工作。

建立触发器USE SuudentGOCREATE TRIGGER insert_sON SAFTER INSERTASIF ((SELECT SDEPT FROM inserted)IN('CS','IS','MA'))BEGINPRINT'记录插入成功'ENDELSEBEGINROLLBACK TRANPRINT'插入的记录有误'ENDUSE SuudentGOINSERTINTO S(Sno,Sname,Ssex,Sbirth,Sdept)VALUES ('1001','FENG','1993/08/19','男','CS')GO(2).为student数据库中的S表创建一个名为dele_s1的DELETE触发器,该触发器的作用是禁止删除S表中的记录。

触发器创建成功之后,删除S表中的记录,验证触发器是否正常工作。

USE SuudentGOCREATE TRIGGER DELE_SON SAFTER DELETEASPRINT'禁止删除数据'ROLLBACK TRAN(3).为student数据库中的S表创建一个名为dele_s2的DELETE触发器,该触发器的作用是删除S表中的记录时删除SC表中该学生的选课纪录。

触发器创建成功之后,删除S表中的记录删除S表中的记录,验证触发器是否正常工作(SC表中的数据被正常删除)。

USE SuudentGOCREATE TRIGGER DELE_S2ON SAFTER DELETEASBEGIN DELETEFROM SCWHERE Sno IN(SELECT SnoFROM deleted)ENDDELETE FROM SWHERE S.SNO='1001'SELECT*FROM SC(表中只有一条数据,即上面插入的学号为1001的那条数据)(4).为student数据库中的S表创建一个名为update_s的UPDATE触发器,该触发器的作用是禁止更新S表中“sdept”字段的内容。

触发器创建成功之后,更新S表中“sdept”字段的内容,验证触发器是否正常工作。

创建update_s触发器CREATE TRIGGER UPDATE_S ON SFOR UPDATEASIF UPDATE(SDEPT)BEGINPRINT'禁止跟新数据'ENDGO验证不能跟新数据UPDATE SSET Sdept='CS'WHERE Sno='1001'(5).禁用update_s触发器。

禁用之后,更新S表中的“sdept”字段的内容,验证触发器是否还继续正常工作。

禁用:ALTER TABLE S DISABLE TRIGGER UPDATE_SUPDATE S SET Sdept='MA'WHERE Sno='1001'启用:ALTER TABLE S ENABLE TRIGGER UPDATE_SUPDATE S SET Sdept='IS'WHERE Sno='1001'(6).删除update_s触发器。

DROP TRIGGER UPDATE_S4.ODBC配置以及程序调试:(20分)(1)配置一个ODBC数据源,要求数据源名称:student,其中包含s(学生信息)表。

(2)阅读并运行实验给出的程序,理解ODBC编程,要求简单写出自己对这段程序的理解或者流程图,并且请给出程序运行结果示例图。

(1).配置一个ODBC数据源,要求数据源名称:student,其中包含s(学生信息)表。

(2).阅读并运行实验给出的程序,理解ODBC编程,要求简单写出自己对这段程序的理解或者流程图,并且请给出程序运行结果示例图。

运行mfc运行后所得结果。

相关文档
最新文档