数据库原理实验报告2012
数据库原理实践报告书(2篇)
第1篇一、引言随着信息技术的飞速发展,数据库技术在各行各业中扮演着越来越重要的角色。
为了更好地掌握数据库原理及其在实际应用中的运用,我们进行了数据库原理的实践学习。
本文将详细阐述我们的实践过程、遇到的问题及解决方案,并对实践结果进行总结。
二、实践目的1. 理解数据库的基本概念、原理和设计方法。
2. 掌握数据库的创建、查询、更新和删除等基本操作。
3. 学会使用SQL语言进行数据库编程。
4. 培养实际操作数据库的能力。
三、实践环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench四、实践内容1. 数据库设计(1)需求分析:以学校教务系统为例,分析学生、课程、教师、成绩等实体及其关系。
(2)概念设计:根据需求分析,绘制E-R图,确定实体、属性和关系。
(3)逻辑设计:将E-R图转换为关系模式,定义主键、外键等约束。
(4)物理设计:选择合适的存储引擎,优化索引,设置合适的存储参数。
2. 数据库创建与操作(1)创建数据库:使用SQL语句创建数据库,如:```sqlCREATE DATABASE school;```(2)创建表:根据逻辑设计,创建表结构,如:```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50) NOT NULL,age INT,class_id INT,FOREIGN KEY (class_id) REFERENCES classes(id));```(3)插入数据:向表中插入数据,如:```sqlINSERT INTO students (name, age, class_id) VALUES ('张三', 20, 1); ```(4)查询数据:使用SELECT语句查询数据,如:```sqlSELECT FROM students WHERE age > 18;```(5)更新数据:使用UPDATE语句更新数据,如:```sqlUPDATE students SET age = 21 WHERE name = '张三';```(6)删除数据:使用DELETE语句删除数据,如:```sqlDELETE FROM students WHERE name = '张三';```3. 视图与存储过程(1)创建视图:根据查询需求,创建视图,如:```sqlCREATE VIEW student_info ASSELECT name, age, class_name FROM students JOIN classes ON students.class_id = classes.id;```(2)创建存储过程:编写存储过程实现复杂的业务逻辑,如:```sqlDELIMITER //CREATE PROCEDURE add_student(IN s_name VARCHAR(50), IN s_age INT, IN c_id INT)BEGININSERT INTO students (name, age, class_id) VALUES (s_name, s_age, c_id);END //DELIMITER ;```4. 索引优化(1)创建索引:根据查询需求,为表创建索引,如:```sqlCREATE INDEX idx_age ON students(age);```(2)查询优化:通过分析查询执行计划,优化查询语句,提高查询效率。
数据库原理实习报告
一、实习背景随着信息技术的飞速发展,数据库技术已经成为现代信息技术中不可或缺的一部分。
为了更好地掌握数据库原理,提高数据库应用能力,我们开展了数据库原理实习。
本次实习旨在通过实际操作,加深对数据库理论知识的理解,提高数据库设计、开发与维护的能力。
二、实习目标1. 掌握数据库的基本概念、数据模型、关系数据库设计方法等理论知识。
2. 熟悉数据库设计工具,如ER图、数据库设计器等。
3. 掌握SQL语言,能够进行数据库的创建、修改、查询、删除等操作。
4. 熟悉数据库管理系统,如MySQL、Oracle等。
5. 提高数据库设计、开发与维护的能力。
三、实习内容1. 数据库基本概念与数据模型实习过程中,我们学习了数据库的基本概念,如数据、数据库、数据库管理系统等。
同时,我们还了解了数据模型,包括概念模型、逻辑模型和物理模型,以及它们之间的关系。
2. 关系数据库设计方法实习中,我们学习了关系数据库设计方法,包括ER图设计、规范化理论、完整性约束等。
通过实际操作,我们学会了如何将现实世界中的实体和实体间的关系转化为关系数据库模式。
3. 数据库设计工具我们使用了ER图工具和数据库设计器进行数据库设计。
通过绘制ER图,我们能够清晰地表达出实体、属性和实体间的关系。
数据库设计器则可以帮助我们快速创建数据库表,设置字段属性和约束。
4. SQL语言我们学习了SQL语言的基本语法,包括数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)等。
通过实际操作,我们掌握了如何使用SQL语句进行数据库的创建、修改、查询、删除等操作。
5. 数据库管理系统我们选择了MySQL作为数据库管理系统进行实习。
通过安装、配置MySQL,我们学会了如何使用MySQL命令行工具进行数据库操作。
同时,我们还学习了如何使用MySQL图形界面工具进行数据库管理。
6. 数据库设计、开发与维护在实习过程中,我们设计了一个图书管理系统。
通过实际操作,我们掌握了数据库设计、开发与维护的整个过程,包括需求分析、系统设计、编码实现、测试和部署等。
2012数据库实验报告
实验报告(201 1 / 201 2 学年第二学期)课程名称数据库系统与设计实验名称数据库系统程序设计与分析实验时间201 2年6月5/15日指导单位计算机学院/软件学院指导教师沈苏彬、李莉学生姓名陈艳丽班级学号B10041307学院(系) 计算机学院专业软件工程(NIIT)实验报告实验名称数据库系统程序设计与分析指导教师沈苏彬、李莉实验类型上机实验学时 6 实验时间2012.6.5/15 一、实验目的和要求(1)掌握数据库系统创建和数据添加的程序设计方法(2)掌握采用数据库查阅语言SQL实现关系数据库查询的程序设计方法(3)比较核心SQL与完全SQL在功能和性能方面的差异二、实验环境(实验设备)硬件:微机软件:SQL Server 2005三、实验原理及内容3.1 利用教材第20页习题 2.3.1给出的关系模式和第29页习题2.4.1给出的数据,建立包括Product、PC、Laptop、Printer四个关系模式的关系数据库,并且录入给出的关系数据库数据。
USE [shiyan1]GO/****** Object: Table [dbo].[PC] Script Date: 06/05/2012 16:17:05 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[PC]([model] [int] NOT NULL,[speed] [char](10) NOT NULL,[ram] [int] NOT NULL,[hd] [int] NOT NULL,[price] [int] NOT NULL) ON [PRIMARY]GOSET ANSI_PADDING OFFUSE [shiyan1]GO/****** Object: Table [dbo].[Printer] Script Date: 06/05/2012 16:18:29 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[Printer]([model] [int] NOT NULL,[color] [char](10) NOT NULL,[type] [char](10) NOT NULL,[price] [int] NOT NULL) ON [PRIMARY]GOCREATE DABASE shiyan1GOUSE [shiyan1]GO/****** Object: Table [dbo].[Product] Script Date: 06/05/2012 16:18:45 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[Product]([maker] [char](10) NOT NULL,[model] [int] NOT NULL,[type] [char](10) NOT NULL) ON [PRIMARY]GOSET ANSI_PADDING OFFUSE [shiyan1]GO/****** Object: Table [dbo].[Laptop] Script Date: 06/05/2012 16:18:56 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[Laptop]([model] [int] NOT NULL,[speed] [char](10) NOT NULL,[ram] [int] NOT NULL,[hd] [int] NOT NULL,[screen] [char](10) NOT NULL,[price] [int] NOT NULL) ON [PRIMARY]GO3.2 按照教材第158页习题6.2.2要求,编制查询语句,并且利用已经3.1建立的关系数据库,执行查询语句,得出查询结果。
数据库实验报告
学生学号实验课成绩武汉理工大学学生实验报告书课程名称数据库系统概论开课学院计算机科学与技术学院指导老师学生姓名专业班级2011 —2012 学年第二学期实验课程名称:数据库系统概论实验项目名称关系代数、ALPHA语言、QBE语言查询实验成绩实验者专业班级组别同组者实验日期年月日第一部分:实验分析与设计(可加页)一、实验内容描述(问题域描述)设有一个SPJ数据库,包括S,P,J,SPJ 4个关系模式:S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)试着用关系代数、ALPHA语言、QBE语言完成如下查询:1 求供应工程J1零件的供应商号码SNO;2 求供应工程J1零件P1的供应商号码SNO;3 求供应工程J1零件为红色的供应商号码SNO;4 求没有使用天津供应商生产的红色零件的工程号JNO;5 求至少用了供应商S1所供应的全部零件的工程号JNO。
二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或者算法描述)一般关系运算:1.选择:它是在关系R中选择满足给定条件的诸元组,记作σF(R)={t|t∈R∧F(t)=’真’}2.投影:是从R中选择出若干属性列组成新的关系,记作πA(R){t【A】| t∈R}3.连接 :是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
4.除运算:R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上得投影:元组在X上分量值X的象集Ys包含S在Y上得投影的集合。
三、主要仪器设备及耗材本次实验为理论性实验,只需要对关系代数有一定了解并能写出查询语句集合,不需要什么试验设备。
第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)查询资料,对自己写的查询语句进行验证,仔细检查是否正确。
sql server 2012数据库开发操作实验原理
sql server 2012数据库开发操作实验原理一、简介SQL Server 2012是微软公司推出的一款关系型数据库管理系统。
它拥有强大的数据处理能力、高效的性能和稳定性,广泛应用于企业级应用程序和数据管理系统中。
本文将介绍SQL Server 2012数据库开发操作的实验原理。
二、概述SQL Server 2012的数据库开发操作主要涉及数据库的创建、表的设计、数据的插入、查询和更新等。
其实验原理主要包括数据库对象、数据类型、表的设计、SQL语句的使用和事务处理等方面。
下面将逐一阐述。
三、数据库对象SQL Server 2012中有多种数据库对象,包括表、视图、存储过程、函数等。
表是最常用的数据库对象,用于存储数据。
视图是从一个或多个表中导出的虚拟表,可以简化数据查询。
存储过程用于封装一段可重复使用的代码,方便开发人员使用。
函数用于封装一段可重复调用的代码,用来处理数据。
四、数据类型SQL Server 2012支持多种数据类型,包括字符型、数值型、日期型、二进制型等。
字符型数据类型用于存储字符和文本数据,如varchar、nvarchar。
数值型数据类型用于存储数字数据,如int、decimal。
日期型数据类型用于存储日期和时间数据,如date、datetime。
二进制型数据类型用于存储二进制数据,如varbinary。
五、表的设计在SQL Server 2012中,表的设计需要考虑字段的数据类型、长度、约束等因素。
字段的数据类型应选择最适合的类型,以保证存储空间的有效利用和数据的准确性。
字段的长度应根据实际需求进行设置,不过度浪费存储空间,也不应过于拥挤。
约束用于确保数据的完整性,包括主键约束、外键约束、唯一约束等。
六、SQL语句的使用SQL Server 2012使用结构化查询语言(SQL)进行数据库操作。
常用的SQL语句包括SELECT、INSERT、UPDATE、DELETE等。
数据库原理课堂实习报告
《数据库基础》课堂实验报告(2011-2012学年第2学期)班级:姓名:学号:上机前准备:充分不充分未准备上机考勤:全到缺次上机操作:认真不认真实验计划:完成部分完成未完成实验报告完成情况:全部按时完成,部分完成,基本未提交实验报告撰写质量:好较好差其它:综合评分:优良中及格不及格指导教师签名:年月日实验报告一认识DBMS专业:班级:姓名:学号:日期:成绩:一、实验的目的与要求:1. 目的通过本次实验,使学生理解和掌握用SQL Server 2000 创建数据库、管理数据库。
2. 要求每位学生要熟悉和理解SQL Server 2000创建数据库的流程,并通过实际操作和总结,独立撰写完成实验报告。
二、实验软件及系统:实验所用软件为:SQL Server 2000所使用的操作系统为:windows xp三、实验内容及步骤:本次实验可以用Enterprise Manager创建数据库和用SQL命令两种方式创建数据库。
而我在此次实验中用的是Enterprise Manager创建数据库。
步骤如下:(1)在服务器的“数据库”文件夹上单击鼠标右键,选择“新建数据库”选项,弹出“数据库属性”对话框,如图1所示(2)在“常规”选项卡的“名称”文本框中输入数据库的名称Study(3)在“数据文件”选项卡中,进行存储位置、初始容量大小等属性,并进行数据库文件大小、扩充方式和容量限制的设置。
由于实验需要,将存储位置改为U盘中以便下次试验能够方便使用本次实验所创建的Study数据库。
(4)在“事物日志”选项卡中,指定事务日志文件的名称、存储位置和初始容量大小等属性,并进行数据库文件大小、扩充方式和容量限制的设置。
由于本次数据库建立没有特别要求,所以除了存储位置改变,其他设置默认不变。
(5)单击“确定”按钮,则创建一个新数据库Study。
(图1)四、实验体会与收获:本次实验并不难,只要按照书本上的步骤进行,基本都能完成实验要求;另外,书本知识必须要经过上机操作才能灵活运用,在实践中增强知识技能。
数据库原理实验报告
《数据库原理》实验报告学号:姓名:班级:指导教师:***中国矿业大学计算机科学与技术学院2012 年 3 月数据库原理教师成绩评定表评定成绩的依据:①基础理论及基本技能的掌握②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果⑤工作态度及工作量;⑥成绩采用优良中差四个等级评定成绩表实验一:SQL数据定义功能一、实验内容及要求1. 使用SQL语句建立学生管理系统相关的表,同时完善各表的相关完整性约束。
其中带有下划线的为主码学院(学院代码,学院名称)学生(学号,姓名,性别,学院代码),学院代码为外码教师(教师号,教师姓名,学院代码),学院代码为外码课程(课程号,课程名,学时)学习(学号,课程号,成绩),学号为外码,课程号为外码开课(教师号,课程号),教师号为外码,课程号为外码2. 对各表进行增加、删除、修改属性操作添加操作:对学生表添加出生日期字段,和家庭地址字段,教师表增加性别字段,出生日期字段,对课程表增加先修课程字段等。
删除操作:删除学生表家庭地址字段,删除教师表出生日期字段修改操作:修改学生姓名字段,该字段值不允许取空值3. 建立索引为学生表在学生姓名上建立名为sname-index 的索引,在学院代码字段上建立名为dept-index,降序。
4. 删除表操作删除上述表的定义,并重新执行定义表的查询再次建立各表5. 利用ACCESS 2003 /2007完善各表的数据内容二、实验目的熟练掌握SQL的各种数据定义功能,包括1.定义表的功能,包括主码和外码的定义2.修改表的定义功能,包括增加属性,删除属性,修改属性类型4.建立和删除索引操作,理解索引的作用5.删除表功能三、实验步骤及运行结果1. 使用SQL语句建立学生管理系统相关的表,同时完善各表的相关完整性约束。
其中带有下划线的为主码(1)学院(学院代码,学院名称)CREATE TABLE 学院(学院代码CHAR(4) NOT NULL UNIQUE,学院名称CHAR(15));(2)学生(学号,姓名,性别,学院代码),学院代码为外码CREATE TABLE 学生(学号CHAR(8) PRIMARY KEY,姓名CHAR(8),性别CHAR(2),学院代码CHAR(15),FOREIGN KEY (学院代码) REFERENCES 学院(学院代码));(3)教师(教师号,教师姓名,学院代码),学院代码为外码CREATE TABLE 教师(教师号CHAR(8) PRIMARY KEY,教师姓名CHAR(8),学院代码CHAR(15),FOREIGN KEY (学院代码) REFERENCES 学院(学院代码));(4)课程(课程号,课程名,学时)CREATE TABLE 课程(课程号CHAR(8) PRIMARY KEY,课程名CHAR(15),学时SMALLINT);(5)学习(学号,课程号,成绩),学号为外码,课程号为外码CREATE TABLE 学习(学号CHAR(8),课程号CHAR(8),成绩SMALLINT,PRIMARY KEY (学号,课程号),FOREIGN KEY(学号) REFERENCES 学生(学号),FOREIGN KEY(课程号) REFERENCES 课程(课程号));(6)开课(教师号,课程号),教师号为外码,课程号为外码CREATE TABLE 开课(教师号CHAR(8),(7)课程号CHAR(8),PRIMARY KEY (教师号,课程号),FOREIGN KEY(教师号) REFERENCES 教师(教师号),FOREIGN KEY(课程号) REFERENCES 课程(课程号));2. 对各表进行增加、删除、修改属性操作添加操作:对学生表添加出生日期字段,和家庭地址字段:ALTER TABLE 学生ADD 出生日期DATETIME,家庭地址CHAR(50);教师表增加性别字段,出生日期字段:ALTER TABLE 教师ADD 性别CHAR(2),出生日期DATETIME;对课程表增加先修课程字段等:ALTER TABLE 课程ADD 选修课程CHAR(20);删除操作:删除学生表家庭地址字段:ALTER TABLE 学生DROP 家庭地址;删除教师表出生日期字段:ALTER TABLE 教师DROP 出生日期;修改操作:修改学生姓名字段,该字段值不允许取空值:ALTER TABLE 学生ALTER 姓名CHAR(8) NOT NULL;3. 建立索引为学生表在学生姓名上建立名为sname-index 的索引:CREATE INDEX sname_index ON 学生(姓名);在学院代码字段上建立名为dept-index,降序:CREATE INDEX dept_index ON 学生(学院代码DESC);4. 删除表操作删除上述表的定义,并重新执行定义表的查询再次建立各表四、实验体会本次实验的第一体会就是熟悉了对数据库上机的初步操作,在简单的建表等操作中逐渐掌握SQL的各种数据定义功能,其中包括定义表的功能,包括主码和外码的定义;修改表的定义功能,包括增加属性,删除属性,修改属性类型;建立和删除索引操作,理解索引的作用;删除表功能等。
数据库原理及应用实验报告
徐州工程学院管理学院实验报告实验课程名称:数据库原理及应用实验地点:经济管理实验教学中心2012—2013学年(一)学期2012 年 9月至 2012 年 12 月专业信息管理与信息系统班级学生姓名学号指导老师蒋秀莲实验一实验名称:熟悉SQL Server 2008的工作环境成绩:实验目的1.熟悉企业管理器、查询管理器的使用。
2.熟悉SQL Server 2008给出的样例数据库的内容。
实验内容和步骤1.练习企业管理器的使用。
熟练掌握SQL Server服务管理器和企业管理器的启动及参数配置等方法。
2.熟悉样例数据库。
在企业管理器中,依次打开两个样例数据库:Pubs、Northwind,查看其所拥有的数据对象,主要包括表、试图、存储过程、角色、规则、默认值、定义的数据类型、定义的函数等。
3.练习查询分析器的使用。
(1)打开企业管理器的工具菜单,如下图所示:4.熟悉系统数据库的结构。
(1)在企业管理器中展开Master数据库节点。
(2)熟悉Master数据库中的所有表。
(3)找出名为sysservers的表,右击该表名,选择“打开表”—“返回所有行”命令。
(4)按照此方法查看其他表的内容。
实验二实验名称:创建数据库和数据表成绩:实验目的1.了解SQL Server 2008数据库的逻辑结构和物理结构。
2. 了解表的结构特点。
3. 熟悉SQLServer的基本数据类型。
4. 了解数据库、数据表、约束等相关的概念。
5. 实现在企业管理器中创建数据库和表。
6. 掌握使用Transact-SQL语句创建数据库和表的方法。
实验内容和步骤练习创建数据库和数据表。
(1)打开“我的电脑”或“资源管理器”,在磁盘中以自己的姓名或学号建立文件夹。
(2)创建名为“学生-选课”(即名为JWGL)的数据库,并存储在地(1)步建立的文件下。
(3)在建立的JWGL数据库中按照表9-1~表9-3所示创建student、course和sc表9-1 student表9-2 course表9-3 sc(4)在数据表中输入数据。
sql server 2012数据库开发操作实验原理
sql server 2012数据库开发操作实验原理SQL Server 2012数据库是一款由微软公司开发的关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序和数据仓库。
数据库开发操作是指使用SQL Server 2012进行数据库设计、创建、管理和优化的过程,这些操作涉及到数据库对象的创建、数据的插入、查询、更新和删除等操作。
本文将重点介绍SQL Server 2012数据库开发操作的原理和实验过程。
SQL Server 2012数据库开发操作的原理主要涉及到数据库设计、数据类型、表的创建和管理、数据操作语言(DML)、数据查询语言(DQL)、数据定义语言(DDL)、存储过程、触发器、索引、视图、事务和并发控制等方面。
下面将对这些内容进行详细介绍。
1.数据库设计SQL Server 2012数据库设计是数据库开发的第一步,它涉及到数据库的逻辑设计和物理设计。
逻辑设计是指根据需求分析和数据建模的结果,设计出数据库对象的结构和关系。
物理设计是指将逻辑设计转化为实际数据库对象的创建和存储结构的设计。
在进行数据库设计时,需要考虑到数据的完整性、一致性、性能和安全等方面。
2.数据类型SQL Server 2012提供了丰富的数据类型,包括数值型、字符型、日期型、二进制型、空间型等。
在进行数据库开发时,需要选择合适的数据类型来存储和操作数据,以保证数据的正确性和高效性。
3.表的创建和管理表是SQL Server 2012数据库中最基本的对象,它用于存储数据并描述数据之间的关系。
在进行数据库开发时,需要通过DDL语句来创建表,并使用DML语句对表中的数据进行管理。
此外,还需要通过索引、主键、外键等约束来保证数据的完整性和一致性。
4.数据操作语言(DML)DML是SQL Server 2012中用于对数据库中的数据进行操作的语言,它包括插入(INSERT)、查询(SELECT)、更新(UPDATE)和删除(DELETE)等操作。
数据库原理实验报告综合实验 华东理工大学课程设计
《数据库原理》实验报告本2012 ~ 2013学年第一学期专业计算机科学与技术班级姓名学号指导教师计算机实验教学中心2012年12 月E-R图可知,本系统设计的实体包括:)球员基本信息:球员姓名、所在球队名称、球衣号码、所在球队位置、生日;)球队基本信息:球队名称、主场地、教练、小组号、队长;)赛程基本信息:主客队名、小组号、比赛日期、主客队比分;)进球表基本信息:球队名称、球衣号码、比赛轮次、进球时间;)积分榜基本信息:球队名称、胜场、平场、负场、总进球、总失球、积分;)射手榜基本信息:名次、球员姓名、球队名称、球衣号码、进球数;)球迷投票基本信息:编号、姓名、最喜爱的球队、最喜爱的球员;)球员管理模块功能设计:添加、删除、修改和查询球员的信息)赛程管理模块功能设计:分别对赛程表和进球表进行查询等操作。
界面设计:5)TOP榜管理模块功能设计:主要是对小组积分和球员射手榜的查询等功能界面设计:)用户竞猜管理模块功能设计:主要是记录用户的基本信息和对比赛结果的竞猜情况,附录本附录以一个窗口(射手榜)的增、删、改、查为例,详细的列出了其每部分的完成所需要的代码,由于篇幅有限,其他窗口和管理功能的实现与之类似。
首先给出该窗口的界面:按照控件的顺序,每个TextBox命名为txtPlace,txtPname,txtTname,txtNumber,txtGoalno, txtState;分别对应的是名次、球员姓名、球队名称、球员号码、进球数和状态。
每个Button 控件命名为button1, button2, button3, button4, button5, button6;分别对应的是添加、删除、修改、确认和重置。
步骤一:首先该窗口的名称是ScoreList,所以其主框架代码如下,包括所有的引用和基本的构造函数等:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace Soccer{public partial class ScoreList : Form{public ScoreList(){InitializeComponent();}}}步骤二:其中由于必须建立与数据库的连接,所以先声明一些连接对象,方便以后各个函数的使用,添加如下代码到主程序中:SqlConnection cn;SqlDataAdapter da;DataSet ds;DataTable dt;步骤三:首先当载入次窗口时,必须显示出数据库中已经有了的射手排行榜的所有信息,如图所示,其是DataGridView控件,命名为dataGridView1,尚未建立与任何数据表格的绑定,所以开始的时候必须在Load函数中进行初始化,添加如下代码到主程序中:private void ScoreList_Load(object sender, EventArgs e){// 使用DataAdapter对象获取数据并填充DataSetString connString = "Data Source=(local);Initial Catalog=Soccer;Integrated Security=True";cn = new SqlConnection(connString);da = new SqlDataAdapter("select * from GoalScore", cn);ds = new DataSet();try{da.Fill(ds, "GoalScore");}catch (SqlException ex){MessageBox.Show(ex.Message);}dt = ds.Tables["GoalScore"];// 定义DataGridView的表头(列)dataGridView1.Columns.Add("rowState", "rowState");foreach (DataColumn col in dt.Columns)dataGridView1.Columns.Add(col.ColumnName, col.ColumnName);// 调用自定义函数在表格中显示数据FillGrid();}private void FillGrid(){dataGridView1.Rows.Clear();// 根据DataSet行的个数在DataGridView中添加行dataGridView1.Rows.Add(dt.Rows.Count);// 循环从DataSet中取所有行和每行的所有列int i = 0;foreach (DataRow row in dt.Rows){DataGridViewRow r1 = dataGridView1.Rows[i];// DataGridView的第一列用于显示行状态r1.Cells[0].Value = row.RowState.ToString();for (int j = 0; j < dt.Columns.Count; j++)r1.Cells[j + 1].Value = row[j].ToString();i++;}}步骤四:当表格中出现所有射手榜信息的时候,这时如果选中某一行,则希望文本框中该项数据与之相当应,所以必须添加选中改变的函数,使表格选中行与文本框的信息同步变化,添加如下代码到主程序中去:// 使表格选中行与文本框的信息同步变化private void dataGridView1_SelectionChanged(object sender, EventArgs e){if (dataGridView1.CurrentRow.Cells[0].Value != null){DataGridViewRow dgRow = dataGridView1.CurrentRow;txtPlace.Text = dgRow.Cells[1].V alue.ToString();txtPname.Text = dgRow.Cells[2].Value.ToString();txtTname.Text = dgRow.Cells[3].Value.ToString();txtNumber.Text = dgRow.Cells[4].Value.ToString();txtGoals.Text = dgRow.Cells[5].V alue.ToString();}else //如果没有行被选中{txtPlace.Text = "";txtPname.Text = "";txtTname.Text = "";txtNumber.Text = "";txtGoals.Text = "";}}步骤五:将新的射手信息填入文本框中,单击按钮‘添加’,则新添加的信息被填充到上面的表格中去,且rowState显示Added,添加如下代码到主程序中去:private void button1_Click(object sender, EventArgs e){// 在DataSet中添加新行DataTable dt = ds.Tables["GoalScore"];DataRow dr = dt.Rows.Add(txtPlace.Text, txtPname.Text, txtTname.Text, txtNumber.Text, txtGoals.Text);// 将当前新添加的行加入到DataGridView中以显示dataGridView1.Rows.Add();DataGridViewRow row = dataGridView1.Rows[dt.Rows.Count-1];row.Cells[0].Value = dr.RowState.ToString();row.Cells[1].Value = dr[0];row.Cells[2].Value = dr[1];row.Cells[3].Value = dr[2];row.Cells[4].Value = dr[3];row.Cells[5].Value = dr[4];}步骤五:选中某一行信息,如果需要删除,则点击‘删除’按钮,则该行的rowState将显示Deleted,添加如下代码到主程序中:private void button2_Click(object sender, EventArgs e){// 对当前选中行作删除标记int rowIndex = dataGridView1.CurrentRow.Index;dt.Rows[rowIndex].Delete();// 显示删除行的行状态dataGridView1.CurrentRow.Cells[0].Value=dt.Rows[rowIndex].RowState.ToString();}步骤六:选中某一行信息,如果需要修改该行的信息,则点击‘修改’按钮,则该行的rowState将显示Modify,并且相应的信息也会随之改变,添加如下代码到主程序中:private void button3_Click(object sender, EventArgs e){// 修改当前选中行int rowIndex = dataGridView1.CurrentRow.Index;DataRow dr = dt.Rows[rowIndex];dr[0] = txtPlace.Text;dr[1] = txtPname.Text;dr[2] = txtTname.Text;dr[3] = txtNumber.Text;dr[4] = txtGoals.Text;// 行状态及修改值显示到表格中DataGridViewRow row = dataGridView1.CurrentRow;row.Cells[0].Value = dr.RowState.ToString();row.Cells[1].Value = dr[0];row.Cells[2].Value = dr[1];row.Cells[3].Value = dr[2];row.Cells[4].Value = dr[3];}步骤七:以上所做的操作都是在关闭与数据库的连接时在缓存中的数据表格中做的操作,如果需要同步到数据库的信息中去,则必须调用update方法,所以点击按钮‘确定’,将所有的修改都同步到数据库中去,添加如下代码到主程序中去:private void button4_Click(object sender, EventArgs e){try{SqlCommandBuilder builder = new SqlCommandBuilder(da);da.Update(ds, "GoalScore");FillGrid();}catch (SqlException ex){MessageBox.Show(ex.Message);}}步骤八:如果不想保存刚才进行的操作,则不必进行上面一步,即不必点击‘确定’按钮,而需要点击‘重置’按钮,则所有的操作将还原,这时将看到所有的rowState都恢复到初始的状态,添加如下代码到主程序中去:private void button5_Click(object sender, EventArgs e){ds.RejectChanges();FillGrid();}至此,所有的该窗口的功能已经全部实现。
数据库原理实验报告-(罗忠霖)-实验三
《数据库原理》实验报告题目:实验二建立数据库及表学号:2010810072 成绩姓名:罗忠霖日期:2012/11/22一、实验使用环境:Window7 、SQL Server 2005二、实验内容与完成情况:1.查询2013年3月10日以前进货且进货价大于500元的商品信息,进货价格按从大到小排序。
程序代码select*fromPurchasewhere(进货时间<'2012-03-10'and进货价>500)order by进货价desc运行结果2.创建一个新表名为:总金额表。
字段包含:商品名称,总金额,返回的结果集行的百分比为程序代码select top 50 percent商品名称,(数量*进货价)as总金额into newtablefrom Purchaseselect*from newtable--查看表信息运行结果3.汇总各部门的员工人数程序代码select部门,count(*)as员工人数from Employeesgroup by部门运行结果4.显示如下结果程序代码select部门,性别,count(*)as员工人数from Employeesgroup by性别,部门运行结果5.显示如下结果程序代码select部门,性别,count(*)as人数from Employeesgroup by部门,性别with cube结果6.分别统计各个员工的销售总数:(使用COMPUTE)程序代码select售货员工编号,商品编号,数量from Sellorder by售货员工编号compute sum(数量)by售货员工编号结果7.查询商品名称,销售编号及销售数量,包括没有销售的商品名称。
程序代码select商品名称,销售编号,Sell.数量from Purchase left join Sellon(Sell.商品编号)=(Purchase.商品编码)运行结果8.使用笛卡尔积连接两张表Purchase和Sell 程序select*代码from Purchase cross join Sell 运行结果9.为新建的表创建唯一性聚集索引:程序代码create table生产厂商表(厂商编号int identity(1,1)not null,厂商名称varchar(30)not null,法人代表varchar(8),厂商地址varchar(50))create unique index weiyi on生产厂商表(厂商编号asc)运行结果10.为Employees表的“姓名”字段创建一个名为“I_姓名”的非聚集索引,使用降序排列,填充因子为:程序代码create index I_姓名on Employees(编号desc)运行结果11.显示Employees表的I_姓名索引的碎片统计信息。
数据库原理课程实验报告(华北电力大学)
课程设计报告( 2011-- 2012年度第2学期)名称:数据库原理课程设计院系:信息工程系班级:网络09k1学号:0919********学生姓名:李东威指导教师:郭丰娟乔玲玲设计周数: 1成绩:日期:2012年6 月1日《数据库原理》课程设计任务书一、目的与要求1.这门课是为计算机科学与技术专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。
通过这个环节,使学生拥有能够应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过一个学生并不陌生的完整系统的设计,可以培养学生对需求分析、方案设计、系统编码、界面设计和软件调试等各方面的能力。
是一门综合考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等涉及多课程的综合实验。
二、主要内容信息管理系统的设计与实现是针对一个实际中小型系统(见题目附录)进行的数据库设计,它需要管理的内容有实体以及实体之间的联系。
1. 首先要求完成需求的理解和实体的设计:a)设计实体的属性和码,以及该实体的实体完整性、用户自定义的完整性。
b)设计实体的之间的联系,包括联系的类型和联系的属性,即设计实体参照完整性。
最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:2.1 将E-R图转换为关系模式。
2.2 设计关系模式间的参照完整性。
2.3 用SQL语言实现数据库模式的设计。
3.实现信息管理系统所需的各种操作:3.1 用SQL语言实现信息的录入、删除和修改。
3.2 以视图的形式完成各类查询,包括单表、多表、单条件、多条件等。
4.权限的设计:4.1 授权操作;4.2 收回权限的操作。
5.界面的设计、加密的设计。
三、进度计划序号设计(实验)内容完成时间备注1 根据任务书完成信息模型的设计,并将该信息模型在选用的DBMS中实现,并录入数据1天2 根据任务书完成各种数据操作,并以视图的形式保留SQL语句。
数据库原理实验报告
计算机与信息学院数据库原理实验报告专业:计算机科学与技术班级: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,写出操作过程。
2012数据库原理实验(1-4)
数据库原理实验报告学院计算机学院专业计算机科学与技术班级学号姓名指导教师明俊峰(2012 年11 月)计算机学院计算机科学与技术专业班学号:姓名:协作者:___无_ 教师评定:实验__一__题目__ 数据库及基本表的建立 _ 实验__二__题目__ 设计数据完整性_ _ 实验三题目查询数据库实验__四__题目创建和使用视图、索引、存储过程实验平台:SQL server 2012计算机学院计算机科学与技术专业班学号:姓名:协作者:___无_ 教师评定:实验题目一、数据库及基本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、分别使用SQL语句、企业管理器(Enterprise Manager)创建数据库;2、使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2000/2003/2005;四、实验方法、步骤及结果测试创建一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。
创建:student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学生选课成绩表)、teacher_course表(教师上课课表)等。
1、创建数据库:确定数据库名称;数据库用于学生管理,命名为SC确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。
确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。
确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。
(1)、利用查询分析器(Query Analyzer),使用SQL语句指定参数创建数据库;利用查询分析器,使用SQL语句方式创建方式将下面各表建立到教学管理数据库中。
2012数据库实验报告
《数据库及其应用》实验报告实验序号:B0901000-02 实验项目名称:数据库设计及数据库创建与应用本实验的操作步骤如下。
实验项目1:数据库设计及数据库与表的创建与操作(一)数据库的设计与创建1.⑴系统的概念设计(E-R模型)⑵系统的关系模型学院(学院号、学院名、院长)专业(专业号、专业名、专业类别、学院号)学生(学号、姓名、性别、生日、民族、籍贯、专业号、简历、登记照)课程(课程号、课程名、学分、学院号)成绩单(学号、课程号、成绩)2. 数据库结构设计⑴数据库文件名的定义与保存指定数据库的文件名为“学生教学管理. MDB”保存在“E:\教学管理\”文件夹中。
⑵表结构设计学生课程成绩单3.定义数据库文件①在E盘上新建“教学管理”文件夹;②启动Access,单击“新建”—→“空数据库”,出现“文件新建数据库”对话框,找到“E:﹨教学管理”文件夹,然后在“文件名”下拉列表中输入“教学管理”,单击“创建”,创建完毕。
4.定义数据库中各表①“数据库”窗口→“表”对象栏→“使用设计器创建表”,弹出表设计窗口;②在设计器中设计“学院表”,根据事先设计好的结构,分别定义各字段名、字段属性,然后单击工具栏中的“保存”按钮,弹出“另存为”对话框,在“表名称”文本框中输入“学院”单击“确定”,表对象创建完成;③按如上方法依次建立“专业”表、“课程”表、“学生”表、“成绩单”表。
5.定义表之间的关系①工具栏中单击“关系”按钮,在弹出的“显示表”对话框中依次选中各表,并单击“添加”按钮,将各表添加到关系窗口中;②选中“学院”的“学院号”字段,将其拖到“专业表”的“学院号”上,在弹出的“编辑关系”对话框中选中“实施参照完整性”复选框,单击“创建”按钮,创建“学院”表与“专业”表之间的关系;③类似方式建立“学院”与“课程”、“课程”与“成绩”、“学生”与“专业”和“成绩”表之间的关系。
6.输入表记录①在数据库表对象窗口,双击“学院”表,出现“学院”表的“数据表”视图,在该视图中依次输入各条记录;②类似的方法再一次输入专业表、学生表、课程表、成绩单表的各条记录。
数据库原理实验报告2012
《数据库原理》实验报告书班级: 学号:姓名:指导教师:实验成绩:中南林业科技大学涉外学院理工系目录数据库原理实验安排 (3)实验一数据库和表的建立、数据操作 (4)实验二 SQL语言的使用 (9)实验三完整性、安全性实现 (16)实验四数据库编程 (18)附录一SQL Server的安装 (20)数据库原理实验安排一、实验目的通过实验,使学生熟悉并掌握数据库的基本概念、基本原理、和基本技术;能够应用这些理论和技术设计合理的数据库;更重要的是通过教学活动,使学生能够把与数据库相关的先修后继知识融会贯通,初步具有开发完整可用的数据库系统的能力。
二、实验安排本门课程共分4个实验,8学时实验一数据库和表的建立、数据操作 2学时实验二 SQL语言的使用2学时实验三完整性、安全性实现 2学时实验四数据库编程 2学时三、实验考核实验成绩通过实验报告及每次实验后的验机给出,每次实验结束后都必须写出实验报告。
实验一数据库和表的建立、数据操作一、实验目的:掌握使用SQL语言进行数据定义和数据操纵的方法。
二、实验要求:建立一个数据库stumanage,建立三个关系表students,course,grade。
向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。
三、实验步骤:1、在SQL Server中输入本机器的名字,选择“windows身份验证”。
点击确定连接SQL Server数据库服务器。
2、新建查询分析器。
3、在查询分析器中输入SQL语句------建立数据库stumanage。
然后单击上面的绿色三角形右箭头。
下部的空白区显示该语句的运行情况。
4、选择数据库stumanage为当前数据库。
5、如下图建立表students:列名数据类型允许空主键说明(1) sno Char(8) 否是学号(2) sname Varchar(20) 是否姓名(3) sex Char(2) 是否性别(4) dept Varchar(20) 是否所在系如下图建立表:course列名数据类型允许空主键说明(1) cno Char(6) 否是课程号(2) cname Varchar(20) 是否课程名如下图建立表sc:(注:包括两个外键,sno和cno共同组成主键)列名数据类型允许空主键外键说明(1) sno Char(8) 否是 students(sno) 学号(2) cno Char(6) 否是 course(sno) 课程号(3) grade int 否否否成绩6、使用SQL语句完成建表操作并以截屏的方式将建表操作过程粘贴在下方表格中。
数据库原理与应用实验报告二
《数据库原理与应用》实验报告实验名称基本表SQL语句练习实验室618 实验日期2012.11.6择条件、字符匹配、分组和排序,体会各种查询的执行过程,为简单综合应用打下基础。
1.查询书名以T开头或者出版社号为0877,而且价格大于16的书的信息。
2.按照类型的升序和价格的降序(在类型相同时)显示书的信息(书名、作者、出版社、类型、价格)。
3.查询销售量大于30的书名及销售数量。
4.查询在1990.1.1到2000.12.31间,每本书的销售总额。
5.查询所有作者的所在城市和州名,要求没有重复信息。
6.计算多少种书已被订价。
7.查询每本书的书名、作者及它的售书总量。
8.计算所有书的平均价格。
9. 查询价格最高的书的书名、作者及价格。
实验内容3:1.参照以上各表给出的主键、外键设置的设置要求,在自己创建表中进行相应的设置。
2.向authors表中插入一行作者信息(具体值自定)。
3.数量超过100的商店增加10%的折扣。
4.删除1994.9.14的订单。
5.删除1中所建立的索引。
6.建立CA州作者所著书的视图(包括作者号、姓名、所在州、书名、价格、出版日期)。
7.建立付款方式是现金(cash)的订单视图。
9.建立CA州的所有商店的视图。
四、实验步骤:内容一:1.查询所有作者的作者号、姓名信息2.查询所有作者的姓名、作者号信息,并在每个作者的作者号前面显示字符串“身份证号:”,表明显示的信息是身份证信息3.查询在CA州的作者姓名和城市4.查询出版日期在2000.1.1-2000.12.31之间的书名和出版日期5.查询每个出版社出版的书6.查询某店销售某书的数量7.查询有销售记录的所有书信息(书号、书名、类型和价格等)8.显示所有的书名(无销售记录的书也包括在内)9.查询已销售书的信息(书号、书名、作者等)10.查询商业(business)书籍的出版社的名称内容二:1.查询书名以T开头或者出版社号为0877,而且价格大于16的书的信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》实验报告书班级: 学号:姓名:指导教师:实验成绩:中南林业科技大学涉外学院理工系目录数据库原理实验安排 (3)实验一数据库和表的建立、数据操作 (4)实验二 SQL语言的使用 (9)实验三完整性、安全性实现 (16)实验四数据库编程 (18)附录一SQL Server的安装 (20)数据库原理实验安排一、实验目的通过实验,使学生熟悉并掌握数据库的基本概念、基本原理、和基本技术;能够应用这些理论和技术设计合理的数据库;更重要的是通过教学活动,使学生能够把与数据库相关的先修后继知识融会贯通,初步具有开发完整可用的数据库系统的能力。
二、实验安排本门课程共分4个实验,8学时实验一数据库和表的建立、数据操作 2学时实验二 SQL语言的使用2学时实验三完整性、安全性实现 2学时实验四数据库编程 2学时三、实验考核实验成绩通过实验报告及每次实验后的验机给出,每次实验结束后都必须写出实验报告。
实验一数据库和表的建立、数据操作一、实验目的:掌握使用SQL语言进行数据定义和数据操纵的方法。
二、实验要求:建立一个数据库stumanage,建立三个关系表students,course,grade。
向表中插入数据,然后对数据进行删除、修改等操作,对关系、数据库进行删除操作。
三、实验步骤:1、在SQL Server中输入本机器的名字,选择“windows身份验证”。
点击确定连接SQL Server数据库服务器。
2、新建查询分析器。
3、在查询分析器中输入SQL语句------建立数据库stumanage。
然后单击上面的绿色三角形右箭头。
下部的空白区显示该语句的运行情况。
4、选择数据库stumanage为当前数据库。
5、如下图建立表students:列名数据类型允许空主键说明(1) sno Char(8) 否是学号(2) sname Varchar(20) 是否姓名(3) sex Char(2) 是否性别(4) dept Varchar(20) 是否所在系如下图建立表:course列名数据类型允许空主键说明(1) cno Char(6) 否是课程号(2) cname Varchar(20) 是否课程名如下图建立表sc:(注:包括两个外键,sno和cno共同组成主键)列名数据类型允许空主键外键说明(1) sno Char(8) 否是 students(sno) 学号(2) cno Char(6) 否是 course(sno) 课程号(3) grade int 否否否成绩6、使用SQL语句完成建表操作并以截屏的方式将建表操作过程粘贴在下方表格中。
表student建立表course建立表scstudents表中插入以下数据:(1)20050101,王飞,男,计算机系(2)20050102,李丽,女,信息系(3)20050103,张晨,女,信息系(4)20050104,刘建峰,男,信息系(5)20050105,李勇志,男,信息系(6)20050106,邹红艳,女,计算机系8、在course表中插入以下数据:(1)01,数据结构(2)02,数据库原理(3)03,计算机组成原理(4)04,Java程序设计(5)05,算法导论9、在sc表中插入以下数据:(1) 20050101,01,70 (2) 20050101,02,90 (3) 20050101,03,93 (4) 20050101,04,85(5) 20050102,02,77(6) 20050102,03,84(7) 20050102,04,88(8) 20050102,05,80(9) 20050103,02,79(10)20050103,03,96 (11)20050103,04,70 (12)20050105,01,90 (13)20050105,02,93 (14)20050105,03,56 (15)20050105,04,85 (16)20050105,05,82 (17)20050106,01,91 (18)20050106,03,82 (19)20050106,04,87 (20)20050106,05,9410、对每一门课,求学生的平均成绩,并把结果以基本表的形式存入数据库。
将操作过程和结果展示以截屏的方式粘贴在下方表格中。
11、修改sc表中sno为20050102、cno为02的记录的grade属性值为85,然后将该条记录删除。
将操作过程和结果展示以截屏的方式粘贴在下方表格中。
12、删除‘李丽’的所有选课情况。
将操作过程和结果展示以截屏的方式粘贴在下方表格中。
13、删除数据库中的三个表中的所有数据,将操作过程和结果展示以截屏的方式粘贴在下方表格中。
14、删除数据库中的三个表结构。
将操作过程和结果展示以截屏的方式粘贴在下方表格中。
15、删除数据库,将操作过程和结果展示以截屏的方式粘贴在下方表格中。
四、实验分析和体会:这次实验让我粗略的了解如何创建数据库、如何创建表格、如何插入信息、如何查询信息以及如何删除信息。
这次实验让我感觉意识到,数据库语言与c语言和java语言还是有许多不同的,如果用之前学过的思想来学数据库的话还是不行的,必须从头开始。
不过还是有共同点的,那就是多练,多想。
实验二SQL语言的使用一、实验目的:掌握使用SQL语言进行各种查询的操作和视图的操纵方法。
二、实验要求:在现有的数据库上进行各种查询操作,对视图、存储过程的创建、使用等操作。
三、实验步骤:1、在SQL Server中输入本机器的名字,选择“windows身份验证”。
点击确定连接SQL Server数据库服务器。
2、新建查询分析器。
3、在查询分析器中输入SQL语句,建立起实验要操作的数据库test1,并在库中建立表、数据(数据参照教材第二章习题)。
4、在数据库test1中进行下列查询操作,将查询语句与结果(结果以截屏图片的方式)写入下面的表格中。
(1)查询所有供应商情况,先按城市升序排列,城市相同按供应商名称(2)查询所有零件情况,先按零件名称升序排列,零件名称相同按重量SQL语句:select * From P ORDER BY pname, weight DESC结果:SQL语句:select jname,jno From J Where jname like ‘%厂%’结果:SQL语句: SELECT Sname,Sno FROM S WHERE Sname LIKE ‘_ 方%’结果:SQL语句:select max(weght)最大值,min(weight)最小值,avg(weight)平均值 From P结果:(6)查询零件中名为“螺丝刀”的零件的种类数、平均重量。
SQL语句:SELECT AVG(weight),count(*) FROM P WHERE pname= ' 螺丝刀 ' 结果:(7)查询供应商S1所供应的各种零件的名称和数量。
SQL语句:select pname 零件名称,qty 零件数量 From SPJ,P Where SJP.pno=P.pno, And SJP.sno=‘s1’结果:SQL语句:select pname 零件名称 ,sum(qty )零件数量 from SPJ left outer join P on (SPJ.pno=P.pno) where SPJ.jno='j1' group by pname结果:SQL语句:select jname 没有使用红色螺丝刀的工程名称 from J where not exists (select*from SPJ,P where SPJ.pno=P.pno and SPJ.jno=J.jno and color='红色' and pname='螺丝刀');结果:SQL语句:select sno没有供应红色螺丝刀的供应商 from S where not exists (select*from SPJ,P where SPJ.pno=P.pno and SPJ.sno=S.sno and color='红色' and pname='螺丝刀');结果:SQL语句:select jno 所用零件数量超过的工程项目号 from SPJ group by jno having sum(qty)>500结果:SQL语句:select jname 所用零件种类超过种的工程项目名称 from J where jno in(select jno from SPJ group by jno having count(pno)>3);结果:(13)查询使用了全部零件的工程项目名称。
SQL语句:select jname 所用全部零件的工程项目名称 from J where jno in(select jno from SPJ group by jno having count(pno)=6);结果:SQL语句:select sname 至少供应了工程J1所使用的全部零件的供应商名称 from S where not exists(select * from SPJ X where X.jno='j1'and not exists (select * from SPJ Y where S.sno=Y.sno and X.pno=Y.pno) )结果:SQL语句:select sname 供应商名称 ,pname 零件名,jname 工程名称 ,qty 数量 from S,P,J,SPJ where S.sno=SPJ.sno and P.pno=SPJ.pno and J.jno=SPJ.jno结果:(16)查询“东方红”供应商供应情况,显示供应的零件名、工程名称、SQL语句:select pname 零件名,jname 工程名称 ,qty 数量 from S,P,J,SPJ where S.sno=SPJ.sno and P.pno=SPJ.pno and J.jno=SPJ.jno and sname='东方红'结果:件代码,供应数量。
针对该试图完成如下查询,将查询语句与结果(结果以截屏图片的方式)写入下面的表格中。
SQL语句:create view jcc as select sno,pno,qty from SPJ,J where J.jno=SPJ.jno and jname='机车厂'结果:(2)查询处供应商S2的供应情况。
SQL语句:select * from jcc where sno='s2'结果:四、实验分析和体会:实验三完整性、安全性实现一、实验目的:使学生加深对数据库安全性和完整性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。