数据库实验二

合集下载

SQL实验二:数据库查询实验报告

SQL实验二:数据库查询实验报告

实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。

(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。

(2)求选修了数学的学生学号、姓名和成绩。

(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

(4)查找选修课程的平均成绩位于前三名的学生的学号。

(5)查询计算机系的姓刘且单名的学生的信息。

(6)查询至少选修两门课程的学生学号。

(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。

(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。

(9)查询所有姓“王”的同学没有选修的课程名。

(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。

(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。

(12)查询每一门课的间接先修课。

(13)列出所有学生所有可能的选课情况。

(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。

(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。

(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。

(17)对被两名以上学生所选修的课程统计每门课的选课人数。

要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。

(18)列出选修课程超过 3 门的学生姓名及选修门数。

(19)检索至少选修课程号为01 和03 的学生姓名。

(20)检索至少选修课程“数学”和“操作系统”的学生学号。

(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。

集美大学数据库SQL实验二 数据库的查询(I)

集美大学数据库SQL实验二 数据库的查询(I)

集美大学诚毅学院实验报告课程名称:数据库系统原理班级:实验成绩:指导教师:姓名:实验项目名称:数据库的查询(I)学号:上机实践日期:实验项目编号:实验2组号:上机实践时间:实验二数据库的查询(I)一.实验目的与要求1.掌握SELECT语句的基本语法。

2.掌握连接查询的方法。

3.掌握数据汇总的方法。

二.实验环境1.PC,CPU:P4 2.0GHz以上,内存:512M,硬盘:40GB以上;2.操作系统:Microsoft Windows 2003/WIN7;3.数据库系统软件:SQL Server 2008三.实验内容与步骤完成以下查询并显示查询结果。

(要求:以“SQL Server 实用教程”的附录A的所有数据作为数据库样本。

)1.查询计算机专业的所有同学的姓名、性别、年龄和总学分。

要求:“年龄”这一列的列标题显示为“年龄”,性别属性的值为0时,显示为“女”,性别属性为1时,显示为“男”。

2、查询姓"张"且全名为三个汉字的学生的所有信息。

3、查询在学生情况表中有备注内容的学生的学号、姓名、专业、备注。

4、查询计算机专业的总学分在50分以下(包括50分)的学生姓名5、查询1990年出生的学生姓名、专业、出生时间及总学分。

龄降序排列。

7、查询已经选修了课程的学生人数。

8、查询选修了“程序设计语言”课程且成绩在80分以上的学生姓名及成绩。

9、查找所有学生情况及他们选修的课程号,若学生未选修任何课,也要包括其情况。

10、查找所有开设的课程及被学生选修的情况(学号及成绩),如某门课程尚未有学生选修时也要列出来。

11、查询选修了101号课程的学生的最高成绩、最低成绩及平均成绩。

12、查询各个课程号及相应的选课人数。

13、查询“离散数学”课程成绩在85分以上的人数。

14、查询选修了3门以上课程的学生学号。

15、查询选修课程超过2门且成绩都在80分以上的学生的姓名、专业及总学分。

四.参考资料1.王珊,萨师煊:数据库系统概论(第四版) ,高等教育出版社,2006.5 2.SQL Server 实用教程,郑阿奇主编。

VF实验二关联、查询和数据库

VF实验二关联、查询和数据库

实验二关联、查询和数据库实验2-1 多表关联与查询实验目的:〔1〕理解关联的概念,掌握在数据工作期窗口中建立关联的方法。

〔2〕掌握SELECT-SQL查询命令。

〔3〕掌握用查询设计器建立查询的方法。

实验要求:〔1〕在数据工作期窗口上建立以“订单〞为父表,“订单明细〞为子表的一多关系;再建立以“订单明细〞为父表,“货物〞为子表的多一关系的二级关联。

然后查看关联后的效果。

〔2〕用SELECT-SQL命令对上述5个表作多表查询练习。

①查询联系“东南实业〞公司的员工**及联系。

②查询订购麻油的订单份数。

〔3〕用查询设计器查询公司订货情况。

实验步骤:〔1〕为“关联〞建立索引:为订单表的订单号字段建立索引,再为货物表的货号字段建立索引。

1)翻开“订单明细表〞在命令窗口里输入命令:INDE* ON 订单号 TAG ddh,执行命令就为该表建立了索引,翻开表生成器查看如下:图中显示了索引,默认是升序的。

2〕同样的方法,翻开“订单明细表〞在命令窗口里输入命令:INDE* ON 货号 TAG hh,执行命令就为该表建立了索引,〔2〕建立关联:过程方法:1〕翻开数据工作期窗口→分别用“翻开〞按钮翻开订单表、订单明细表和货物表→在“别名〞列表框中选定“订单〞,单击“关系〞按钮→在“别名〞列表框中选定“订单明细〞→随即弹出“设置南索引顺序〞对话框,其列表框中显示“订单明细.订单号〞。

选定“确定〞按钮→随即弹出“表达式生成器〞对话框,其SET RELATION框中显示“订单号〞。

选定“确定〞按钮,多一关系建立完成→选定“一对多〞按钮→在随即弹出的“创立一对多关系〞对话框中→选定“确定〞按钮,一多关系建立完成。

显示的表达式生成器如下:2)在“别名〞列表框中选定“订单明细〞→为确定以订单明细表为父表建立下一级关联,在“关系〞列表框中也选定“订单明细〞→单击“关系〞按钮→在“别名〞列表框中选定“货物〞→在随即弹出的“设置索引顺序〞对话框中选定“确定〞按钮→在“表达式生成器〞对话中选定“确定〞按钮,多一关系建立完成,如图下列图所示:〔3〕查看关联效果:分别“订单〞、“订单明细〞和“货物〞浏览窗口,并按左中右顺序排列→选定“订单〞表的*个记录,“订单明细〞和“货物〞浏览窗口的内容即会关联变化,如下列图所示。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握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图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

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

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

课程名称数据库原理实验序号 2实验项目数据查询实验地点实验学时实验类型验证性指导教师实验员专业班级学号姓名年月日成绩:A教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。

四、实验过程(实验步骤、记录、数据、分析)实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。

一、简单的选择与投影查询1、无条件查询1.1查询全体学生的详细记录。

这是一个无条件的选择查询,其命令为:其命令为:select * from students运行结果如右图,显示整张表的内容。

1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(dno)。

这是一个无条件的投影查询,其命令为:select sname,ssexfrom students运行结果如右图,显示了表中的三列。

1.3查询全体学生的姓名(Sname)、出生年份及学号(Sno)。

其命令为:select sno,sname,2017-sage as birth from students运行结果如右图,显示了三列内容。

1.4查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。

其命令为:select sname,'birth:' title,YEAR(GETDATE())-sagebirthyear,LOWER(sno) lsnofrom students运行结果如右图,显示了四列内容。

1.5查询选修了课程的学生学号。

其命令为:select distinct snofrom reports运行结果如右图,distinct短语是为了消去查询结果中的重复值。

2、条件查询(1)比较条件1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。

其命令为:select sno,snamefrom studentswhere dno='d03'运行结果如右图,显示了d03系的全体学生姓名与学号。

数据库实验答案实验二Sql

数据库实验答案实验二Sql

(1) 查找有销售记录的客户编号、名称和订单总额。

命令:SELECT a.CustomerNo,CustomerName, sum(quantity*price) orderSumFROM OrderMaster a,OrderDetail b,Customer cWHERE b.orderNo=a.orderNo AND c.CustomerNo=a.CustomerNoGROUP BY a.CustomerNo,CustomerNameORDER BY a.CustomerNo,orderSum DESC(2) 在订单明细表中查询订单金额最高的订单。

命令:SELECT top 1 orderNo,sum(quantity*price)订单金额FROM OrderDetailGROUP BY orderNoORDER BY 订单金额DESC(3) 查询没有订购商品的客户编号和客户名称。

命令:SELECT CustomerNo,CustomerNameFROM CustomerWHERE CustomerNo NOT IN (SELECT CustomerNo FROM OrderMaster)(4) 找出至少被订购3次的商品编号、订单编号、订货数量和订货金额,并按订货数量的降序排序输出。

命令:SELECT a.productNo,orderNo,quantity,(quantity*price) moneyFROM OrderDetail a,(SELECT productNoFROM OrderDetailGROUP BY productNoHA VING COUNT(*)>=3) bWHERE a.productNo =b.productNoORDER BY a.productNo,quantity DESC被订购三件以上的……SELECT b.ProductNo,orderNo,quantity,orderSum=quantity*priceFROM OrderDetail b,(SELECT ProductNo FROM(SELECT ProductNo,sum(quantity)SQfrom OrderDetail GROUP BY ProductNo)aWHERE a.SQ>3)cWHERE b.ProductNo=c.ProductNoORDER BY b.quantity DESC(5) 使用子查询查找32M DRAM的销售情况,要求显示相应的销售员的姓名、性别,销售日期、销售数量和金额,其中性别用“男”、“女”表示。

2-Expriment 2数据库实验

2-Expriment 2数据库实验

Experiment 2. Expressions and GROUP BY clause1. Search conditions1.1 Select rows within a certain range. (Using BETWEEN…AND…)a. Find all the employees who earn between $1200 and $1400.b. Find all the employees who do not earn between $1200 and $1400.1.2 Select rows that match a value in a list. (Using IN(…) operator)a. Find the employees who are clerks, analysts or salesmen.b. Find the employees who are not clerks, analysts or salesmen.1.3 Select rows that match a character string pattern. (Using LIKE operator)a. Find all the employees whose names begin with the letter “M”.b. Find all the employees whose names contain the letter “N”.c. Find all the employees whose names are not 5 characters long.2. Ordering rows in a query result2.1 List the employees in department 30 ordered by their salaries in ascending order.2.2 List the employees in department 30 ordered by their salaries in descending order.2.3 Order all employees by job. For those with the same job, put them in descending salary order.3. Expressions3.1 The ISNULL() function.Syntax: ISNULL ( check_expression , replacement_value )Description: Check whether check_expression is a null value. If it is, replace it with replacement_value in the expression.Example: Calculate the average price of all books. Consider the books without price data as $20.SELECT AVG(ISNULL(Price, 20)) FROM Books;3.2 List the name, salary, commission, and sum of salary plus commission of all salesmen.3.3 List the name, salary and commission of employees whose commissions are greater than 25% of their salaries.3.4 Calculate the total annual earnings of all salesmen based on their monthly salaries and their monthly commissions.4. Aggregate Functions4.1 Find the average salary for clerks.4.2 Find the total salary and total commission for salesmen.4.3 Compute the average annual salary plus commission for all salesmen.4.4 Find the highest and lowest paid employee salaries and the difference between them.4.5 Count the number of employees who receive a commission.4.6 Count the number of different jobs held by employees in department 30.4.7 Count the number of employees in department 30.5. GROUP BY clause5.1 List the department number and average salary of each department.5.2 F ind each department’s average annual salary for all its employees except the managers and the president.5.3 Divide all employees into groups by department, and by jobs within department. Count the employees in each group and compute each group’s average annual salary.5.4 List the average annual salary for all job groups having more than 2 employees in the group.5.5 List all the departments that have at least two clerks.5.6 Find all departments with an average commission greater than 25% of average salary.。

数据库实验报告全

数据库实验报告全

数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。

4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。

实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。

2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。

3)⽤T-SQL语句删除数据库CPXS_bak。

2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。

3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。

6.将CP表中每种商品的价格打8折。

7.将CP表中价格打9折后⼩于1500的商品删除。

⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。

)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

MY SQL数据库表的操作

MY SQL数据库表的操作

MY SQL数据库应用实验报告一、实验目的1、熟练掌握数据表建立的语句和使用前台工具建表。

2、熟练掌握单主键表和多主键表的建立。

3、熟练掌握表的外键的建立方法。

4、能够运用SQL语句建立表的非空约束、唯一性约束和默认约束。

5、熟练掌握使用ALTER语句修改表的各种属性。

二、实验内容1、在example数据库中创建一个student表和一个grade表。

表结构如下:表。

Student表:Grade表:(2)将grade表的course字段的数据类型改为V ARCHAR(20)答:mysql> alter table Grade modify course varchar(20);(3)将s_num字段的位置改到course字段的前面答:mysql> alter table Grade modify course varchar(20) after S_num; (4)将grade字段改名为score答:mysql> alter table Grade change grade score varchar(4);(5)建立grade表的外键约束(提示:同student表中的相同字段联系)答:mysql> constraint c_fk foreign key(S_num) references Student (num);(6)将grade表的存储引擎更改为MyISAM类型答:mysql> alter table Grade engine=MyISAM;(7)将student表的address字段删除答:mysql> alter table Student drop address;(8)在student表中增加名为phone的字段答:mysql> alter table Student add phone int(8)-> \g(9)将grade表改名为gradeInfo答:mysql> alter table Grade rename GradeInfo;Query OK, 0 rows affected (0.09 sec)mysql> show tables-> \g+----------------+| Tables_in_test |+----------------+| gradeinfo || student |+----------------+2 rows in set (0.00 sec)2、在上面建立的example数据库中创建一个tran表和一个car表。

实验二空间数据库管理及属性编辑实验报告

实验二空间数据库管理及属性编辑实验报告

实验二空间数据库管理及属性编辑实验报告The following text is amended on 12 November 2020.实验报告一、实验名称二、实验目的三、实验准备四、实验内容及步骤五、实验后思考题班级:资工(基)10901姓名:魏文风序号:28实验二、空间数据库管理及属性编辑一、实验目的1.利用ArcCatalog管理地理空间数据库,理解Personal Geodatabse空间数据库模型的有关概念。

2.掌握在ArcMap中编辑属性数据的基本操作。

3.掌握根据GPS数据文件生成矢量图层的方法和过程。

4.理解图层属性表间的连接(Join)或关联(Link)关系。

二、实验准备预备知识:ArcCatalog 用于组织和管理所有 GIS 数据。

它包含一组工具用于浏览和查找地理数据、记录和浏览元数据、快速显示数据集及为地理数据定义数据结构。

ArcCatalog 应用模块帮助你组织和管理你所有的 GIS 信息,比如地图,数据集,模型,元数据,服务等。

它包括了下面的工具:浏览和查找地理信息。

记录、查看和管理元数据。

创建、编辑图层和数据库导入和导出 geodatabase 结构和设计。

在局域网和广域网上搜索和查找的 GIS 数据。

管理 ArcGIS Server。

ArcGIS 具有表达要素、栅格等空间信息的高级地理数据模型,ArcGIS支持基于文件和DBMS(数据库管理系统)的两种数据模型。

基于文件的数据模型包括Coverage、Shape文件、Grids、影像、不规则三角网(TIN)等GIS数据集。

Geodatabase 数据模型实现矢量数据和栅格数据的一体化存储,有两种格式,一种是基于Access文件的格式-称为Personal Geodatabase,另一种是基于Oracle或SQL Server等RDBMS关系数据库管理系统的数据模型。

GeoDatabase是 geographic database 的简写,Geodatabase 是一种采用标准关系数据库技术来表现地理信息的数据模型。

数据库实验二

数据库实验二

实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。

二、实验过程(一)数据库的建立使用CREATE DA TABASE语句创建名为“gongcheng”的数据库。

create database gongcheng(二)数据表的操作1.建立数据表在创建的“gongcheng”数据库中使用SQL语句建立4个关系(可参考课本P74习题5),如下:供应商表S (Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表SPJ(Sno,Pno,Jno,QTY)要求:(1)创建每个关系的主键,有外键的创建外键。

(2)S表中的Sname属性列的取值唯一(3)P表中weight属性列的取值范围在1-50之间(4)J表中的Jname取值不能为空并且是唯一的(5)SPJ表中QTY属性列的数据类型必须为int建立供应商表Screate table S(Sno varchar(8)primary key,Sname varchar(20)unique,Status int,City varchar(20))建立零件表Pcreate table P(Pno varchar(8)primary key,Pname varchar(20),Color varchar(4),Weight int check(Weight>=1 and Weight<=50))建立工程项目表Jcreate table J(Jno varchar(8)primary key,Jname varchar(20)unique not null,City varchar(20))建立供应情况表SPJcreate table SPJ(Sno varchar(8),Pno varchar(8),Jno varchar(8),QTY int,primary key(Sno,Pno,Jno),foreign key(Sno)references S(Sno),foreign key(Pno)references P(Pno),foreign key(Jno)references J(Jno))2.修改表的结构用SQL语句完成以下操作:(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。

数据库系统原理 实验二 以图形界面方式进行数据库和表的创建

数据库系统原理 实验二 以图形界面方式进行数据库和表的创建

实验二以图形界面方式进行数据库和表的创建实验目的:掌握使用图形界面的方式进行库和表的创建,以及数据的插入方法。

实验内容及要求:1、利用图形界面方式创建数据库;2、利用图形界面方式创建一个模式;3、利用图形界面方式在模式中创建表;4、利用图形界面方式在表中插入数据。

实验工具:企业管理器——可以运行在多种操作系统平台上的图形界面总控管理平台。

它允许用户、程序员和管理员进行管理和配置数据库服务器、管理各种数据库对象、管理数据安全、监视数据库服务活动、诊断修改和优化数据库等操作。

企业管理器的总的设计思想是记录下用户通过图形方式进行的操作,并转换成相应的SQL语句。

实验过程及步骤:一、创建TEST数据库创建步骤:打开企业管理器→在企业管理器的【数据库】节点,点击鼠标右键→点击【新建数据库】→弹出【新建数据库窗口】,在该窗口中的“数据库名称”后面输入要创建的数据库名,其他选项默认即可→点击【确定】。

图1 新建数据库二、在TEST数据库中创建SCOT模式实验一中已将TEST数据库创建完成,接下来需要在该数据库中创建SCOT 模式。

模式(Schema)实际上是一个名字空间,它包含命名对象(表,视图,存储过程,函数和序列)。

创建步骤:打开企业管理器→在企业管理器的【模式】节点,点击鼠标右键→点击【新建模式】→弹出【新建模式窗口】,在该窗口中的“模式名”后面输入要创建的模式名,点击【确定】。

图2 新建模式三、创建表在SCOT模式中创建三张表,分别为DEPT部门表、EMP员工表和SALGRADE工资等级表。

其中各表的结构为:DEPT表结构EMP表结构SALGRADE表结构创建步骤:打开企业管理器→在企业管理器的【表】节点,点击鼠标右键→点击【新建表】→弹出【新建表窗口】,在该窗口中的设置列名、数据类型、主键、精度等,点击【保存】,在窗口中输入表名。

图3 创建表四、在表中插入数据DEPT表数据EMP表数据SALGRADE表数据创建步骤:打开企业管理器→在企业管理器的【表】节点中找到插入数据的表名→点击鼠标右键→点击【打开表】下的【返回所有行】→弹出【打开表窗口】,在该窗口中的输入具体数据。

数据库原理实验报告二

数据库原理实验报告二

LIAOCHENG UNIVERSITY计算机学院实验报告【 2015 ~ 2016 学年第 2 学期】【一、基本信息】【实验课程】数据库原理与应用【设课形式】独立□非独立√【课程学分】0.5【实验项目】实验二、SQL数据操作及查询【项目类型】基础√综合□设计□研究创新□其它[ ] 【项目学时】 4 【学生姓名】傅雪晨【学号】2014204359【系别专业】电子商务【实验班组】 2014.06【同组学生】【实验室名】综合实验楼【实验日期】【报告日期】【二、实验教师对报告的最终评价及处理意见】实验成绩:(涂改无效)指导教师签名:年月日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案3.将教材P70表中的数据添加到数据库SPJDB中. 体会执行插入操作时检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果.Insert into S59select's1','精益','20','天津'unionselect's2','盛锡','10','北京'unionselect's3','东方红','30','北京'unionselect's4','丰泰盛','20','天津'unionselect's5','为民','30','上海'Insert into P59select'p1','螺母','红',12 unionselect'p2','螺栓','绿',17 unionselect'p3','螺丝刀','蓝',14 unionselect'p4','螺丝刀','红',14 unionselect'p5','凸轮','蓝',40 unionselect'p6','齿轮','红',30Insert into J59select'J1','三建','北京'unionselect'J2','一汽','长春'unionselect'J3','弹簧厂','天津'unionselect'J4','造船厂','天津'unionselect'J5','机车厂','唐山'unionselect'J6','无线电厂','常州'union4.删除student表中学号为201215121的学生,体会执行删除操作时检查参照完整性规则的效果.将参照完整性中的删除规则改为“级联(层叠)”(CASCADE),重新删除该学生信息。

数据库实验二实验报告

数据库实验二实验报告

_数据库实验二课程实验报告实验名称:姓名班级学号实验台编号同组学生实验课表现出勤、表现得分25% 实验报告得分50%实验总分操作结果得分25%实验目的:1.掌握SELECT语句的基本语法2.掌握SELECT语句中的SELECT子句的作用及使用方法3.掌握SELECT语句中的WHERE子句的作用及使用方法4.掌握SELECT语句中的ORDER BY子句的作用及使用方法5.掌握集合函数的作用及使用方法6.掌握SELECT语句中的GROUP BY子句的作用及使用方法7.熟悉内连接、外连接、自连接和非限制连接的概念8.能够熟练使用连接查询从多个表中查询数据9.能够熟练地使用子查询得到想要的数据实验内容:一、简单查询1.查询XS表中各个同学的所有信息。

select* from XS;2.查询XS表中各个同学的姓名、专业名和总学分。

select姓名,专业,总学分from XS;3.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name和mark。

select学号num,姓名name,总学分mark from XS;4.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。

select distinct专业from XS;5.查询XS表中各个同学的姓名、专业名和总学分,只返回结果集的前5行。

select top 5 姓名,专业,总学分from XS;6.查询XS表中每个学生的学号、姓名和年龄信息。

select datediff(yyyy,出生日期,'2010')年龄from XS;7.查询XS表中专业为“计算机”的同学的情况。

select*from XS where专业='计算机';8.查询XS表中1979年出生的学生姓名和专业情况。

SELECT姓名,专业from XS where year(出生日期)='1979';9.查询XS表中专业名为“计算机”或“电子”或“数学”的学生的情况。

数据库查询实验报告

数据库查询实验报告

实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:年12 月10 日教务处制:在 INTO 子句中指出了表名 student,并指出了新增长旳元组在哪些属性上要赋值,属性旳次序可以与 CREATE TABLE 中旳次序不一样样。

INSERT INTO "S-C"."STUDENT"VALUES('','张成民','男','18','CS' );select* from "S-C"."STUDENT":值与属性要一一对应。

INSERT INTO "S-C".sc (sno,cno)VALUES('','1');SELECT*from "S-C".sc;:在新插入旳记录中 GRADE 列自动地赋空值。

或者: INSERT INTO "S-C".scVALUES('','1',null);SELECT*from "S-C".sc;:若直接在 SC 中直接插入选课记录,由于没有指出 SC 旳属性名,在 GRADE 列上要明确给出空值NULL。

创立新表CREATE TABLE dept_age(sdept CHAR (15),avg_age smallint);把系名和平均年龄存入新表insertinto dept_age(Sdept,avg_age) select sdept,avg(sage)from "S-C".studentgroup by sdept;UPDATE "S-C"."STUDENT"SET Sage=22WHERE sno=;select*from "S-C".student;UPDATE "S-C"."STUDENT"SET Sage=sage+1;select*from "S-C".student;UPDATE "S-C"."SC"SET Grade=0where sno in(select snofrom "S-C".studentwhere sdept='cs');SELECT*FROM "S-C".SC;DELETEfrom "S-C".studentWHERE sno='';select*from "S-C".student;DELETEFROM "S-C".SC;SELECT*FROM "S-C".SC;:这条 DELETE 语句将使 SC 成为空表,它删除了 SC 旳所有元组。

武汉轻工大学数据库1508090003实验2报告

武汉轻工大学数据库1508090003实验2报告

武汉轻工大学经济与管理学院实验报告实验课程名称大型数据库管理实验起止日期2017.11.15至2017.11.29 实验指导教师程红莉实验学生姓名郑万芳学生班级学号物流1501班1508090003实验评语实验评分教师签名年月日实验项目名称交互式SQL实验日期2017.11.21 学生姓名郑万芳班级学号1508090003一、预习报告(请阐述本次实验的目的及意义)(1)熟悉数据库的交互式SQL工具。

(2)熟悉通过SQL对数据库进行操作。

(3)完成基本数据表、视图和索引的创建、修改与删除,并完成作业的上机练习,包括数据的查询、修改、插入、更新等操作。

(4)完成SQL上机练习二、实验方案(请说明本次实验的步骤和进程)一、数据定义即在实验一基础上,继续完成数据库下三张表的建立和数据输入。

学生表(s)sno sname age sex98601李强20男98602刘丽21女98603张兵20男98604陈志坚22男98605张兵21女课程表(C)cno cname teacher officeC601高等数学周振兴416C602数据结构刘建平415C603操作系统刘建平415C604编译原理王志伟415选课表(SC)sno cno score98601C6019098601C6029098601C6038598601C6048798602C6019098603C6017598603C6027098603C6045698604C6019098604C6048598605C6019598605C60380二、数据操作1.完成各类查询操作(单表查询、连接查询、嵌套查询、集合查询)。

2.完成各类更新操作(插入数据、修改数据、删除数据)。

三、视图的操作视图的定义(创建和删除)、查询、更新(注意更新的条件)。

四、用SQL完成下列查询(1)给学生表增加一列,属性名为class(班级),然后将已有数据的班级全部设置为class=“9601”Alter table s add class char(4)(2)检索年龄大于21的男学生学号SNO和姓名SNAME。

实验二++用MySQL实现数据库设计++2019

实验二++用MySQL实现数据库设计++2019
根据第一次实验定义外键和未列出的关系模型,设计生成正确的表。
一、熟悉开发环境 练习: 1.安装 MySQL 数据库和 Navicat 软件。启动或停止 MySQL 服务器 2.了解 MySQL 的版本、数据库引擎、字符集、root 账号和默认端口号。 3.学会使用 MySQL 服务器的连接 4.使用 MySQL 的命令输入界面来执行 SQL 命令。 二、使用 MySQL 的命令行方式完成数据库及数据库对象的创建和管理 实验步骤: 1.创建数据库
(1)要求参数: 数据库名称:study (2)创建后用 SHOW 查看刚创建的数据库 study; (3)用 USE 命令选用数据库 study;
(4)用 SQL 语句删除数据库 study; (5)(选做)用 MYSQLADMIN 创建和删除;直接在数据库目录中创建和删除。 2.创建表 (1)根据上述数据库的信息,决定创建几个表,并给每一个表指定一个有意义的表名; (2)根据每个表中每列存储的数据的情况,为每个列指定列名,数据类型,数据的长度,是
四、实现以下查询 1.练习课堂上举例介绍的几类查询; 2.实现以下查询 (1) 检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。 (2) 检索姓“王”的所有学生的姓名和年龄。 (3) 检索没有考试成绩的学生姓名和课程名。 (4) 检索年龄大于女同学平均年龄的男学生姓名和年龄。
否允许为空等列的属性; (3)使用命令行方式或者 Navicat 建立所有的表; (4)创建之后,还可以根据具体情况,再对表的结构进行修改;(包括添加列,删除列,修
改已存在的列) 3.实现数据完整性
(1)针对每一个表分析并定义主码(Primary Key) (2)定义 UIQUE 约束
用来规定一个列中的两行不能有相同的值; 例如:希望学生的姓名是唯一的; (3)针对每一个表分析外部码,并利用“关系图”定义外部码(Foreign Key),建立表之间 的参照关系; 以下示例并不完整,请根据上述数据库的信息补充完整 SQL 命令,并创建表和对应的外键。 例如: CREATE TABLE student (

数据库实验二,sql查询语句

数据库实验二,sql查询语句

实验二:数据查询语言实验内容SQL数据查询语句:例5-1:(选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。

select sno,sname,sex,sage from student;例5-2:(不选择重复行) 求选修了课程的学生学号。

select distinct cno from sc where cno is not null;例5-3:(选择表中的所有列) 求全体学生的详细信息。

select * from student;例5-4:(使用表达式) 求全体学生的学号、姓名和出生年份。

select sno,sname,birthday from student;例5-5:(使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。

select sno as"学号",birthday as"出生年份" from student;例5-6:(比较大小条件) 求年龄大于19岁的学生的姓名和年龄。

select sname,age from studentwhere age>19;例5-7:(比较大小条件) 求计算机系或经济管理系年龄大于18岁的学生的姓名、系和年龄。

select sname,depname ,agefrom student,departmentwhere student.depno=department.depnoand age>18;例5-8:(确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。

select sno,age from studentwhere age in(19,22);例5-9:(确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。

select sno,age from studentwhere age not in(19,22);例5-10:(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。

哈工大威海数据库试验2

哈工大威海数据库试验2
create view V_IS_Score(sclass,sno,sname,cname,grade)
as
select Student.sclass,Student.sno,sname,cname,grade
from Student LEFT JOIN SC ON (Student.sno=SC.sno AND Student.sclass=SC.sclass )LEFT JOINCourseON(o=o )
where Student.sclass=1 and Student.sno in (
select sno
from SC
where sclass=1
Group by sno
having avg(grade )>85)
4
5,
8,Байду номын сангаас
select 1 sclass,avg(grade) grade
from SC
where Cno =3 and sclass=1
9
insert into Student values(3,1,'张三丰','男',21,'WC')
insert into SC values(3,1,'8',100)
insert into Course values(8,'无机化学',NULL,6)
二、
1,
2
create view S_C_GRADE (sno,sxlass,sname,cname,grade)
as
select Student.sno,Student.sclass,Student.sname,ame,SC.grade
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二数据库设计
【实验目的】
本实验通过学生一个应用实例设计数据库,达到:
1、理解规范化数据库设计包括步骤及其任务、方法、结果等。

2、掌握数据库设计过程中关键文档的撰写包括E-R模型、E-R模型向关系模型的转换。

3、了解数据库辅助设计工具。

【实验性质】
验证性实验(学时数:2H)
【实验导读】
1、概述
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统(简称数据库应用系统),使之能够有效地存储数据,满足各种用户的应用需求(包括信息要求和处理要求)。

数据库设计的一个最基本的问题(输出)是如何建立一个好的数据库模式(逻辑结构与物理结构),如果可能的话包括基于数据库应用系统的设计原则。

即给出一定的硬件与软件环境下(主要包括OS与DBMS),对于一定的信息需求和处理要求(输入),如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。

按照规范化设计的方法,数据库设计分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。

有些教材还包括规划阶段。

为了叙述方便我们将后两个阶段合并。

2、需求分析
需求分析指各种需求的收集和分析、表达,结果得到数据字典(DD)描述的数据需求和数据流图(DFD)描述的处理需求。

在结构化设计方法中,需求分析采用自顶向下、逐层分解的方法。

3、概念结构设计
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,用E-R图表示。

E-R模型方法讨论了实体与实体之间的数据联系,目标是要设计一个“好”的数据库模型。

设计E-R图步骤:
1)确定局部应用,一般选择合适的中间层次。

在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。

中层允许有一定的重叠。

2)设计局部E-R图。

主要包括确定实体、确定联系包括联系名及其类型、标明属性、确定主关键字、标明其它。

3)局部E-R图
4)合并及优化全局E-R图。

4、逻辑结构设计
将概念结构转换为某个DBMS所支持的数据模型一般为关系模型,并对其进行优化。

转换时必须遵从转换规则,每个规则强调转换时必须确定每个关系的关系名、构成的属性、码的确定。

转换规则可以分为三类即实体型的转换、联系转换(联系可分为二元联系与多元联系两类,二元联系划分成1:1、1:n、n:m三种,一元联系同二元联系一样处理)、关系合并规则。

5、物理结构设计
为逻辑数据模型选取一个最适合应用环境的物理结构(存储结构和存取方法)。

6、实施与运行、维护
数据库实施指运用DBMS提供的数据语言SQL及其宿主语言(例如C),根据逻辑设计和物理
设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

在编写SQL语句之前,一般会要求提供详细说明每个表的表实例图(Table Instance Chart)。

TIC详细描述每个表的属性、数据类型及其长度、各种约束(如主码、外码、唯一性、值域等),有些资料称之为数据字典(注意与需求分析的结果数据字典区分开来)。

数据库应用系统经过试运行后即可投入正式运行。

在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

7、设计举例
下面设计一个高校教学管理系统作为示例,简要说明数据库设计过程。

(1)数据分析
各部门对教学管理系统的数据要求:
学生处:管理各系班级学生的基本情况。

对学生而言主要有学生的学号,姓名,性别,生日,家长,邮编,家庭住址,班编号等信息。

对班级而言有班级的编号,班名称,班简称,班长,层次,人数,入学年度,系编号等。

教务处:掌握课程的基本信息以及学生各门课程的成绩情况。

就课程需要掌握课程的编号,课程名,学期,学分,实习周数(对实践类课程)。

各系:登录本系学生各门课程的成绩
按照前述方法,根据上述数据要求,设计了其E-R模型,如图2.1。

图2.1 教学管理E-R模型
(2)E-R模型转换为关系模型
根据转换规则将上述E-R模型经过转换得到5个关系,下划线为主码:
系(系编号,系名称,系简称,电话,系主任,班级数)。

对应实体型“系”。

班级(班编号,班名称,班简称,班长,层次,人数,入学年度,系编号)。

对应实体型“班级”,包含了联系“拥有”。

学生(学号,姓名,性别,生日,家长,邮编,家庭住址,班编号)。

对应实体型“学生”,包含了联系“组成”。

课程(课程号,课程名,学期,学分,实习周数)。

对应实体型“课程”。

选修成绩(学号,课程号,成绩)。

对应联系“选修”。

(3)数据字典
为了更好实施数据库,给出每个关系的详细说明。

(4)创建表SQL语句
(略)
【实验内容】
1、对自己熟悉的应用领域完成数据库设计,也可以参照下面两个E-R图中任何一个。

图2.2
图2.3
2、编写关键文档(转换的关系模型、数据字典、SQL语句)。

E-R模型转换为关系模型
根据转换规则将上述E-R模型经过转换得到5个关系,下划线为主码。

对应实体型“系”。

对应实体型“教研室”。

对应实体型“课程”。

对应实体型“教师”。

数据字典
为了更好实施数据库,给出每个关系的详细说明。

3、上机调试相应的SQL语句。

create database qowu
use quwo
create table Depart(
Dno decimal(5) primary key,
Dname char(30) not null,
phone varchar(50)
)
create table section(
sno decimal(5) primary key,
sname char(30) not null,
Dno decimal(5),
foreign key(dno) references Depart(dno)
)
create table course(
cno char(15) primary key,
cname char(30) not null,
tno char(30),
)
create table Teeacher(
tno char(30) primary key,
tname char(30) not null,
cno varchar(15),
sno decimal(5),
foreign key(sno) references Section(sno)
)
【实验作业】
1、数据库设计的输入是什么?
2、数据库设计的输出是什么?
3、E-R模型向关系模型的转换时注意事项有哪些?
4、简单总结规范化数据库设计方法的优缺点。

相关文档
最新文档