sql关系图建立
- 格式:doc
- 大小:118.50 KB
- 文档页数:10
SQL数据库应用系统———销售管理系统
1、创建销售管理系统的数据库
数据库名为Salemanagement,要求建立在”F:\SQL\”文件夹下。
2、创建表
包括部门表、员工表、产品表、销售表单、销售产品表。
所建的表名分别为:Dept、Employee、Product、SaleForm、SaleFormDetail。
表的结构如下图所示。
(输入数据在关系图建立后进行,外键和所引用的主键数据类型必须相同)
3、创建关系图和表间联系并输入图中数据
根据关系图建立主键和外键约束,建完后输入表中数据。
4、按部门查看销售业绩:创建视图
在Employee表和SaleForm表上建立视图,查看各个部门的销售总额。
5、查询
a)查看货品名称及其价格。
b)求每个部门都有哪些销售人员。
c)求包含有“球”的货品名及价格。
d)求货品名称及其销售量(product 和saleformdetail连接得到,对于没有销售量的产
品也要列出来)。
e)用企业管理器的查询操作功能求出销售人员的名称,以及他们卖出的商品的名称。
(employee,product,saleformdetail,saleform四表相联)
Dept表Employee表
Product表
SaleForm表
SaleFormDetail表
关系图如下所示,要求设定主键并建立如图的外键联系。
第2章创建数据库数据库是用来存储数据的空间,它作为存储结构的最高层次是其他一切数据库操作的基础。
用户可以通过创建数据库来存储不同类别或者形式的数据。
因此,在本章用户将详细地学习针对数据库的基本操作和数据库的日常管理操作,即如何创建数据库、对数据/日志文件进行操作、生成数据库快照等日常操作。
本章学习目标:了解数据库对象及构成掌握创建数据库的两种方法掌握管理数据库的方法了解数据库快照2.1 SQL Server数据库概述SQL Server中的数据库是由数据表的集合组成的,每个数据表中包含数据以及其他数据库对象,这些对象包括视图、索引、存储过程和触发器等。
数据库系统使用一组操作系统文件来映射数据库管理系统中保存的数据库,数据库中的所有数据和对象都存储在其映射的操作系统文件中。
这些操作系统文件可以是数据文件或日志文件。
要熟练地理解和掌握数据库,必须对数据库的一些基本概念及构成有一个清楚的认识。
2.1.1 常见数据库对象数据库中存储了表、视图、索引、存储过程、触发器等数据库对象,这些数据库对象存储在系统数据库或用户数据库中,用来保存SQL Server数据库的基本信息及用户自定义的数据操作等。
1.表与记录表是数据库中实际存储数据的对象。
由于数据库中的其他所有对象都依赖于表,因此可以将表理解为数据库的基本组件。
一个数据库可以有多个行和列,并且每列包含特定类型的信息。
列和行也可以称为字段与记录。
字段是表中纵向元素,包含同一类型的信息,例如读者卡号(Rcert)、姓名(name)和性别(Sex)等;字段组成记录,记录是表中的横向元素,包含有单个表内所有字段所保存的信息,例如读者信息表中的一条记录可能包含一个读者的卡号、姓名和性别等。
如图2-1所示为【图书管理系统(BookDateBase)】数据库中【读者信息(Reader)】数据表的内容.图2-1 【读者信息(Reader)】数据表2.视图视图是从一个或多个基本(数据)表中导出的表,也被称为虚表。
实验二数据表的创建和管理【实验目的】(1)掌握数据表的相关理论知识(2)掌握利用SQL语句创建数据表的方法(3)掌握利用对象资源管理器创建数据表方法(4)掌握利用SQL语句操作数据表数据的方法(5)掌握利用对象资源管理器操作数据表数据的方法【实验要求】(1)复习所需理论知识(2)按照实验步骤的要求完成验证题目(3)按照自主设计题目要求完成数据表的创建(4)按照自主设计题目要求完成数据表的数据操作(5)以班级姓名文件夹形式提交完成的两种实验题目数据文件和日志文件(6)以班级姓名文件夹形式提交数据表创建和数据操作的SQL语句【实验环境】Windows XP操作系统或windows 2000/2003操作系统,SQL Server 2005数据库管理系统【实验步骤】一、利用对象资源管理器(1)按照验证性实验题目的要求完成数据表的创建(2)按照验证性实验题目的要求完成对数据表数据的操作(2)按照自主设计实验题目的要求完成数据表的创建(4)按照自主设计实验题目的要求完成对数据表数据的操作(5)对自主设计实验题目和验证性实验题目创建相应的数据库关系图二、利用SQL语句(1)按照验证性实验题目的要求完成数据表的创建(2)按照验证性实验题目的要求完成数据表数据的操作(3)按照自主设计实验题目的要求完成数据表的创建(4)按照自主设计实验题目的要求完成数据表的数据操作注意用到的SQL语句要分别保存,并命名为shiyan2_1.sql,shiyan2_2.sql,shiyan2_3.sql,shiyan2_4.sql,shiyan2_5.sql依此类推即可(只要是用到的SQL语句就要保存)【验证性实验题目】实验所用素材:student(学生表)Course(课程表)Sc(选课)数据表中参考数据:(也可根据需要自己设计)Student表中数据:Course表中数据:Sc 表中数据:一、创建数据表并设置主、外键1、使用对象管理器【步骤1】参考实验一,将stud 数据库附加到相应的服务器中(如已经在服务数据库结点中,则此步可以省略)。
学会sql数据库关系图 很久以前就知道微软的Petshop的很经典,昨天抽出时间去学习,⼀开始还真的不适应,什么成员资格,还真的看不太懂,运⾏petshop 想从登陆学起,但是⽤户名和密码都不知道,后来发现有更注册的页⾯,⾃⼰注册了⼀个页⾯,才发现还得从数据库出发。
花了这么多时间最终还是回到了数据库,但是数据库中⼀张⼀张的表格找不到脚本,也不是⾃⼰设计的数据库,完全没有⼀点头绪,后来突然想起来sql有个数据库关系图,可以很快的适合数据库程序员很快的掌握数据库表之间的关系。
于是开始了我的百度之旅,关于数据库的关系图的⽂章还真的很少,于是我开始根据petshop,然后建⽴数据库关系图,开始掌握数据库关系图。
我点击MSPetShop4Services这个数据库,存放着⽤户的信息。
但是原版的是没有数据库关系图。
⾸先我们⾃⼰动⼿来新建⼀张数据库关系图吧,找到相应的数据库(图1),在第⼀⾏中有个数据库关系图,我们右击选择新建数据库关系图(N),如图2: (图1) (图2) 这个时候会跳出⼀个添加表对话框,这⾥我们可以选择我们想要的表,如果想要全部选中,则这样操作,先⿏标点重第⼀个然后按住shift+⿏标点重最后⼀个,来完成操作。
最后表格位⼦整理⼀下,然后ctrl+s保存⼀下,数据关系图的名字,那么数据库关系图基本建⽴好了。
接下来就是分析了。
(添加表对话框图) (选中表对话框图) 整个MSPetShop4Services数据库的关系图。
整个这幅图,是不是看着⼀张⼀张的表格了解表之间的关系舒服多了,当然我们还是要看懂整个表的意思,⾸先最上⾯的是表名,下⾯的都是字段,有些字段左边有个钥匙,那是主键的意思。
在表之间有个线连着就说明这两个表之间存在主键和外键的关系,其中⼀半都有钥匙的指的是主键,⼀个⽆穷⼤的符号表⽰的外键。
但是不知道细⼼的朋友有没有发现⼀个问题,⽐如说aspnet_Paths和aspnet_PersonalizationAllUsers表之间的线的两端都是钥匙的,我也找了很久资料没有找到,于是⾃⼰写代码测试了,到底是什么意思。
要求:
1.报告格式和内容要求:
a. 内容和格式整齐。
大标题采用黑体四号字加粗,小标题采用小四号字加粗。
正
文采用五号宋体,单倍行距。
b. 贴图时请剪裁到适当大小,要保证打印时可以看清,但也不要太大以免“越界”。
c. 不要在报告中写与实验无关的话,内容要有条理、完整、并能突出重点,要将
遇到的主要问题说明。
2.文件格式要求:
a. 将实验成果放入一个文件夹中,文件夹的内容包括:本实验报告、分离后的数
据库、如有查询代码(.sql文件)和其它文件也一并放入。
b. 文件夹以“学号姓名班级_S12”为文件名。
注意:你的学号放在姓名前。
c. 注意:所有文件保存后关闭,然后打包成RAR文件,以免提交的内容丢失或打
不开。
3.提交方式和时间:一周内完成。
可以将文件包发到我。
4.主动查阅资料,坚持自己亲手完成实验,弄清每个步骤和相关原理。
《数据库管理与开发》实验报告课程号:B0900990-0实验项目:数据库设计、创建,表及各种对象的创建、管理与应用(2)、全部选中之后然后点击“执行”,就会执行相应的语句,并在命令窗口显示“命令已经成功完成”。
如下图所示:(3)、然后刷新左边的数据库,就会出现我们所建立的OnlineShopping数据库。
(4)、然后找到E盘的OnlineShopping文件夹,点击进入之后就会看到包含我们所建立的数据文件和事务日志文件。
说明创建数据库成功。
2.在数据库中建表。
(1)、创建“客户表”。
(2)、创建“商品表”。
(3)、创建“生产厂商表”。
(4)、创建“商品类别表”。
(5)、创建“订单总表”。
(6)、创建“订单明细表”。
(7)、创建“供应表”。
注意这个表有点特殊的是:由两个属性共同的作为主键,要用CONSTRAIT 主键名PRIMARY KEY(属性A,属性B)(8)、创建“评论表”。
(9)、表全部创建完成之后,刷新数据库,可以看到这些表。
3、在数据库中创建索引。
说明:索引包含“唯一性索引”,“主键索引”,“聚集索引”。
因为生成的表的时候系统自动的为每一个表设置了“主键索引”如图所示,“聚集索引”是指表中的各记录的物理顺序与键值的逻辑顺序一致。
一张表中只能有一个“聚集索引”。
而系统中的这个主键索引也是聚集索引,所以不能再对表格创建聚集索引。
所以我下面创建的是唯一性索引,全部都是非聚集索引。
(1)、在“客户表”中创建了一个按“身份证号”列建立的唯一索引“Customer”。
说明:这里创建的是唯一索引,唯一索引的含义是对于表中的任何两行记录来说,索引键的值都各不相同。
并且要注意,如果表中一个字段或者多个字段的组合在多行记录中具有NULL值,则不能将这个字段或者字段组合作为唯一索引键。
因为对于每一个表的主键系统都自动的设置了相应的索引,在“客户表”中,身份证号是绝对不能相同的,所以可以设置为唯一索引键。
(2)、在“商品表”中创建了一个按“单价”列建立的非聚集索引“Goods”。
第7章SQL Server 2005关系图和视图管理教学目标:通过第1章介绍的E-R图和本章关系图的对照,加深理解实体和实体之间的联系在数据库中的实现;熟练掌握视图的操作:创建、使用、修改和删除,应该做到给一个应用后就能马上反映到用不用视图,用什么样的视图,怎么用视图的熟练程度。
7.1SQL Server 2005关系图数据库关系图:数据库中对象的图形表示形式;数据库关系图既可以是整个数据库结构的图片,也可以是部分数据库结构的图片;它包括表对象、表所包含的列以及它们之间的关系。
数据源视图设计器(SSAS):使用Business Intelligence Development Studio 中的数据源视图设计器可以编辑数据源视图的各种属性,以及对在多个关系图的数据源视图中定义的对象进行组织。
通过执行以下操作之一,即可显示“数据源视图设计器”对话框:在解决方案资源管理器中右键单击某个数据源视图,再选择“打开”或“视图设计器”。
在解决方案资源管理器中双击某个数据源视图。
使用数据源视图设计器的关系图窗格,可以查看和修改“关系图组织程序”窗格中所选关系图中包含的表、列、命名查询、命名计算和关系。
关系图窗格中将显示数据源视图设计器的“关系图组织程序”窗格中所选的关系图。
若要更改关系图窗格中显示的关系图区域,请单击该窗格右下角的四向箭头,然后在关系图的缩略图上拖动选择框,直到选定要在关系图窗格中显示的区域为止。
7.1.1 创建新的数据库关系图以创建教务管理选课系统数据库EDUC的关系图为例。
(1)在【对象资源管理器】中,右键单击EDUC数据库的“数据库关系图”节点或该节点中的任何关系图,从快捷菜单中选择“新建数据库关系图”;(2)在弹出【添加表】对话框中选择所需的表,再单击“添加”;(3)所选择的表将以图形方式显示在新的数据库关系图中。
(4)保存该关系图。
7.1.2 数据库关系图的打开(1)在【对象资源管理器】中,展开“数据库关系图”节点;(2)双击要打开的数据库关系图的名称或右键单击要打开的数据库关系图的名称,然后选择“设计数据库关系图”;(3)在数据库关系图设计器中打开该数据库关系图,就可以在其中编辑关系图。
7.1.3 删除数据库关系图(1)在【对象资源管理器】中,展开“数据库关系图”节点;(2)右键单击要删除的数据库关系图,从快捷菜单中选择“删除”;(3)此时,将显示一条消息,提示您确认删除,选择“是”。
该数据库关系图随即从数据库中删除。
在删除数据库关系图时,不会删除关系图中的表。
7.1.4 显示数据库关系图属性(1)打开数据库关系图设计器;(2)通过在该设计器中单击对象以外的任意位置,确保没有在数据库关系图设计器中选择任何对象;(3)在“视图”菜单中,单击“属性窗口”,该关系图的属性随即显示在【属性】窗口中。
7.1.5 协调数据库关系图与已修改的数据库当您准备好对数据库进行更新以与您的关系图匹配时,即可保存数据库关系图。
保存关系图将通过改写其他用户的更改来使数据库与您的关系图一致,以便数据库与关系图匹配。
但是,如果其他用户在您打开关系图后更新了相应的数据库,他们的更改可能会影响您的关系图,同样如果您在其他用户打开关系图后更新数据库,那么您的更改也会影响他们的关系图。
解决的方法通常有两种:1.更新数据库以与关系图匹配保存数据库关系图。
如果您以前未保存过关系图,请在“保存新的数据库关系图”对话框中为该关系图键入名称,再选择“确定”。
“保存”对话框会列出在您保存关系图时将受到影响的表。
选择“是”继续执行操作。
“检测到数据库更改”对话框将列出已修改并将进行更改以与关系图匹配的对象。
选择“是”以保存该关系图并接受更改列表。
注意:如果您的关系图中包含已在数据库中删除的表和列,那么当您保存关系图时,数据库中只会重新创建其定义。
此过程无法还原删除这些对象之前存在于这些对象中的任何数据。
2.更新关系图以与已修改的数据库匹配关闭关系图而不保存更改。
在对象资源管理器中右键单击该关系图。
在快捷菜单中单击“刷新”。
重新打开该关系图。
7.2T-SQL语言的视图定义视图是一个由SELECT语句指定,用以检索数据库表某些行或列数据的语句存储定义。
DB三级结构:局部逻辑结构,整体逻辑结构,物理结构SQL三级结构:视图(外模式),基本表(模式),文件(存储模式)视图的列来自不同的表,是基本表的抽象和在逻辑意义上建立的新关系视图是基本表(实表)上的表(虚表),由基本表产生视图的建立和删除不影响基本表对视图内容的更新(插入、删除和修改)直接影响基本表视图来自多个基本表时,不允许插入和删除数据7.3创建视图7.3.1 使用SSMS创建视图以创建电子商务学生的视图为例。
(1)在【对象资源管理器】中,右键单击EDUC数据库的“视图”节点或该节点中的任何视图,从快捷菜单中选择“新建视图”;(2)在弹出【添加表】对话框中选择所需的表Student或视图等,再单击“添加”;(3)在【视图设计器】中选择要投影的列,选择条件等;(4)执行该SQL语句,运行正确后保存该视图View_EB。
7.3.2 使用T-SQL语句CREATE VIEW 视图名AS SELECT子句例1:定义视图V1_BOOKS为图书中的作者和书名。
USE LibraryGOCREATE VIEW V1_BOOKSAS SELECT DISTINCT Author, BnameFROM dbo.BookGOUSE LibraryGO运行结果:命令已成功完成。
查看定义:USE LibraryGOsp_helptext V1_BOOKSGO打开视图查看结果:例2:定义视图overdue,读者借书应还日期SReturnDate信息。
USE LibraryGOCREATE VIEW overdue( RID,Rname, BID, Bname,SReturnDate )ASSELECT Reader.RID, Reader.Rname, Book.BID,Book.Bname,Borrow.LendDate+ ReaderType.LimitDaysFROM Reader INNER JOINBorrow ON Reader.RID = Borrow.RID INNER JOINReaderType ON Reader.TypeID = ReaderType.TypeID INNER JOIN Book ON Borrow.BID = Book.BIDWHERE(Borrow.ReturnDate IS NULL)打开视图查看结果:例3:创建视图从overdue中查询出借阅超期的读者信息。
CREATE VIEW v_overdueASSELECT *FROM overdueWHERE(SReturnDate<GETDATE())打开视图查看结果:7.4修改视图7.4.1 使用SSMS修改视图选择具体要修改的视图快捷菜单—“修改”7.4.2 使用T-SQL语句ALTER VIEW 视图名AS SELECT子句例:修改视图V1_BOOKS,使其显示Book表中的不重复的作者和书名USE LibraryGOALTER VIEW V1_BOOKSAS SELECT DISTINCT Author, BnameFROM dbo.BookGO7.5使用视图7.5.1 视图检索(查询)(与基表相同)选择具体要检索的视图快捷菜单—“打开视图”。
7.5.2 利用视图操作基表通过视图对基本表进行插入、修改、删除行的操作,有一定的限制条件1.插入记录例:在视图View_EB中插入一条新的记录,其各字段的值分别为'2005216322','李晓燕','女','1986-9-6','电子商务'。
USE EDUC1GOINSERT INTO View_EB(SID,Sname,Sex,Birthday,Specialty)VALUES('2005216322','李晓燕','女','1986-9-6','电子商务')GO2.修改记录例:将视图View_EB姓名为郭洪亮的学生的出生日期改为’1987-4-27’。
USE EDUCGOUPDATE View_EBSET Birthday =’1987-4-27’WHERE Sname=’郭洪亮’GO3.删除记录例:在视图View_EB中删除姓名为李晓燕的学生记录。
USE EDUCGODELETE FROM View_EBWHERE Sname=’李晓燕’GO7.6删除视图7.6.1 使用SSMS删除视图三种方法:“编辑”——“删除”快捷菜单——“删除”DELETE键7.6.2 使用T-SQL语句DROP VIEW 视图名例:删除视图View_EB。
DROP VIEW View_EB7.7小结本章重点讲述了视图的创建、使用、修改和删除操作;其中视图的创建、修改和删除操作都讲解了两种实现方法;视图的使用中介绍使用视图进行查询和使用视图操作基本表的方法。
希望同学们通过上机练习加深对视图的理解,提高对视图的操作能力。