某大学数据库课程设计学校食堂管理系统.doc

上传人:小飞机 文档编号:4265470 上传时间:2023-04-12 格式:DOC 页数:37 大小:696KB
返回 下载 相关 举报
某大学数据库课程设计学校食堂管理系统.doc_第1页
第1页 / 共37页
某大学数据库课程设计学校食堂管理系统.doc_第2页
第2页 / 共37页
某大学数据库课程设计学校食堂管理系统.doc_第3页
第3页 / 共37页
某大学数据库课程设计学校食堂管理系统.doc_第4页
第4页 / 共37页
某大学数据库课程设计学校食堂管理系统.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《某大学数据库课程设计学校食堂管理系统.doc》由会员分享,可在线阅读,更多相关《某大学数据库课程设计学校食堂管理系统.doc(37页珍藏版)》请在三一办公上搜索。

1、摘要当人们收集了大量的数据后,应该把它们保存起来做进一步的处理和信息的抽取。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术来科学地保存大量的数据,以便能更好的利用这些数据资源。我选择食堂管理系统的原因是我们学校有4个食堂,但人数众多,每天的消费量都很大,从学生的角度来讲,在高峰期存在某些食堂找不到座位的现象比比皆是,从管理员的角度来讲,他们需要知道某些菜的量,这样才能合理分配菜量,同学们也可以对食堂的饭菜及服务打分,这样同学们才能更好地进行就餐,食堂管理员才能更好地管理食堂及员工。本课题的目的是为了巩固数据库原理与应用课程中所学的知识,体现

2、理论指导实践的原则,为食堂管理系统设计后台数据库,通过需求分析,概念设计,逻辑设计,物理设计及数据库的实施和运行等阶段,体现数据库设计的全过程,并把所学知识应用到实际中,培养自己的思维能力。关键词:SQL SERVER;数据库设计;食堂管理系统目录第一章绪论11.1课题简介11.2设计目的11.3设计内容1第二章需求分析32.1 需求分析的任务32.2 需求分析的过程32.3数据字典与流程图4第三章概念结构设计83.1 概念结构设计的方法与步骤83.2 数据抽象与局部视图设计83.3视图的集成11第四章逻辑结构设计124.1 E-R图向关系模型的转换124.2 数据库关系图12第五章数据库的实

3、现165.1数据库的建立165.2 数据库基本结构的建立165.3安全性的实现225.4完整性的实现235.5恢复技术的实现25第六章运行与结果266.1简单查询和连接查询266.2嵌套查询286.3组合查询和统计查询32第一章绪论1.1课题简介数据库技术已成为现代信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术是20世纪60年代后期产生和发展起来的一项计算机数据管理技术,它的出现使计算机应用渗透到人类社会的各个领域。目前数据库的建设规模和性能、数据库信息的大小和使用频度已成为衡量一个国家信息化程度的重要标志,数据库技术也成为计算机科学技术的一个重要分支。

4、我的专业是计算机。经过大学三年的学习,我们对计算机方面的知识有了很大的提升,不但掌握了基本的编程方法,工具和软件,还能进行简单的小程序开发。在C语言和JAVA课程设计中,我认真编写程序,均取得了很好的成绩。在这次数据库课程设计中,我本着理论联系实际的宗旨,通过学校提供的这次课程设计实践的机会,在指导教师的帮助和自己的资料查找下,历经两周时间,我通过数据库设计阶段的需求分析,概念模型设计,逻辑结构设计等步骤,自行设计一套学校食堂管理系统,在下面的各章中,我将以这套学校食堂管理系统为例,谈谈其开发过程和所涉及到的问题。1.2设计目的由于我的专业是软件,而数据库是软件领域不可或缺的重要组成部分,有句

5、话说得好,要想学好软件,C语言,数据结构,数据库是必须要学好的,而要想学好数据库,光学习理论知识是不行的,必须要理论结合实际,自己通过构思开发出一套数据库系统,只有在实践中,我们才能更好地掌握所学的知识,为将来的工作打下良好的基础。我们学校有4个食堂,人数众多,高峰期有占不上座位的情况,而且食堂的数据量非常大,比如客流量,菜的信息,窗口信息,盈利额等,而且有的菜有时没有销售,而且学生在就餐时,有的同学不知道具体的饭菜质量怎么样,在选择时产生了疑惑。对于员工来说,他们需要知道食堂,窗口和菜的评分,对评分低的进行整改。而且能及时处理学生订的外卖。我设计这套食堂管理系统有以下几个目的:1学生在就餐之

6、前可以查找自己想要的各个食堂人流情况,菜谱,营业的现状,以及好评度等,对客流量大的食堂可以进行外卖点餐。也可以对食堂进行评价。2让食堂的员工通过使用本系统可以及时掌握学生需求的动态,提高食堂的管理效率。3食堂的管理员根据学生的评价信息表,可以提高食堂的管理水平。对评分低的项目进行整改。实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识、SQL SERVER的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。1.3设计内容选择课题

7、并且对课题的相关信息有一定的了解,对于我选的课题来说,我必须了解食堂管理系统的构造,有哪些功能,并确定完成这些功能需要的相应实体,属性及联系,将这些信息输入到数据库中,使之能够进行查询、修改、删除并且与食堂管理系统执行相同的操作。在需求分析阶段,需要完成食堂管理系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计以及视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后是数据库的实施和运行。第二章需求分析2.1 需求分析的任务需求分析阶段的任务是对系统的整个应用情况做全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标和对这些数据的要求,确定用户的需求,并把

8、这些要求写成用户和数据库设计者都能够接受的文档。首先,我做的是调查食堂管理系统应用领域涉及的内容,对涉及到领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析各个功能所需要的数据及处理流程。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。2.2 需求分析的过程 1、分析用户活动,产生用户活动图。 2、确定系统X围,产生系统X围图。 3、分析用户活动所涉及的数据,产生数据流图。 4、分析系统数据,产生数据字典。 通过我对学校食堂的调查分析,我得出了食

9、堂以下几点特点: 每个食堂都会有若干个窗口,每个窗口有若干工作人员。工作人员分为食堂管理员,窗口管理员和一般员工,一般员工负责送餐。 每位同学都有唯一的学号并被分配到指定的宿舍楼和指定的宿舍,有XX,年龄,性别和联系方式。 学生在学校食堂就餐,有菜名和就餐时间。 每个员工都有唯一的员工号,还有XX,性别,年龄,联系方式和职位每个食堂都有编号,负责人的员工号,营业状况,如果正在营业则会有客流量,同时还会有学生对其的评价。 每个窗口都有编号和所属食堂编号,并对在此窗口出售的菜进行编号,另外还有此窗口的营业状况,以及学生对其的评价。 每道菜有编号,菜名和价钱,所属食堂的编号和窗口编号,同时有此时的销

10、售状况,以及学生对其的评价。 每个学生可以对食堂,窗口和菜评价打分,同时每个学生对其评价时都会自动生成一个编号。 每个外卖都有订单号以及订此外卖的学生的学号。 外卖是由食堂的一般工作人员负责送的,有员工编号,订餐编号和状态。若已送,则会有送餐时间。 每道菜又有对应的销售总量以及总价 总结了以上食堂的基本特点以后,我再说明一下食堂的业务流程: 1.学生根据食堂的营业状况,好评度和客流量,选择理想的食堂就餐。 2学生到某个食堂的某个窗口去点餐,员工会点击学生点的某些菜,系统会统计此菜的编号,从数据库调出其价格,同时统计出点餐的合计金额,同时记录并更改菜的销售数量。 3.食堂管理员可以根据数据库中订

11、餐表查看同学们订的餐以及相关信息。 4学生可以查看食堂现状的基本信息。学生可以查看所有食堂的人流量,某些食堂某些窗口某些菜是否在出售。 5工作人员可根据订外卖的单的住址等信息去送外卖;同时更改每个外卖的状态和时间。 以上就是我对食堂管理系统的需求分析,要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。2.3数据字典与流程图1业务流程分析经过可行性分析和初步需求调查,抽象出该系统业务流程图,结合该实例具体情况,给出学生和食堂工作人员对食堂相关信息的具体需求。图2.1 学校食堂管理流程图 调查用户需求 学生对食堂的需求l 功能:学生首

12、先查看食堂的基本信息,比如是否营业,客流量,好评度,哪些窗口和出售的菜名等,然后选择合适的食堂进行就餐。在选择窗口和菜时,可以根据自己的喜好来选择,也可以根据好评度来选择。l 同学可以通过外卖系统来订外卖,订完时,系统会生成订餐信息。l 同学们也可以对食堂,窗口和菜的质量来进行打分。l 统计功能:u 按菜编号统计食堂所拥有的菜,以及销售情况。u 可以按照好评度降序排列来选择食堂,窗口和菜。食堂工作人员需求:l 查询功能:食堂的工作人员能查询自己工作的食堂和窗口的相关信息,包括食堂拥有的窗口,该窗口所有菜的信息,正在出售的菜的信息,该窗口的外卖单的信息,销售状况,好评度等,有利于对食堂和窗口更好

13、地进行管理,对好评度低的食堂,窗口和菜等进行整改。l 更改功能:当窗口的菜单的信息发生变化时,工作人员能对其进行修改。比如,某些菜销售完毕,在销售状况总就应该改成F(空);或者某些菜的价格改变,记录中价格的信息也要作相应的修改等。l 当有学生在该窗口点餐,工作人员可以去统计销售额,合计总额;l 当有同学订外卖,可以及时生成订单的详细信息,确保准确无误地送到指定地点。 就餐信息需求l 基本功能:记录学生在食堂的就餐情况l 统计功能:u 统计食用某道菜的人数u 统计食用某道菜的时间u 统计某人食用的菜名l 查询功能:u 上食堂就餐的同学信息查询:就餐同学XX就餐同学住址就餐同学学号就餐同学性别就餐

14、同学年龄就餐同学联系方式 外卖信息需求l 查询功能:u 外卖号u 订外卖的同学相关信息u 送餐的员工的相关信息u 是否送餐以及送餐时间2系统模块分析在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA方法)。首先,定义全局概念结构的框架,如图2.2所示。图2.2食堂管理系统总框架图3数据字典将所有子系统全部细化。将所有用户需求分析完毕之后,就要开始构造数据字典了。数据字典提供了对数据库数据描述的集中管理,它的功能是存储和检索各种数据描述,如描述性的数据定义等,并且为DBA提供有关的报告。经分析之后,本系统要用到11个基本表:食堂信息表,窗口信息表,菜单信息

15、表,学生信息表,员工信息表,就餐信息表,送餐信息表,收入信息表,外卖信息表,送餐信息表,评价信息表。数据结构定义如表2.1所示。表2.1 数据结构定义数据结构名含义说明组成食堂信息定义了食堂的有关信息食堂编号,营业状况,好评度,客流量,员工号窗口信息定义了窗口的有关信息窗口编号,食堂号,好评度,营业状况,工作人员菜单信息表定义了菜单的有关信息菜编号,窗口编号,食堂编号,菜名,好评度,状况,价钱评价信息定义了某同学对食堂,窗口,菜的评价的有关信息评价编号,学号,食堂编号,窗口编号,菜编号,食堂分数,窗口分数,菜分数学生信息定义了学生的有关信息学号,XX,性别,年龄,住址,联系方式就餐信息定义了学

16、生的就餐信息学号,菜编号,就餐时间菜收入信息定义了某一种菜收入的有关信息销售编号,菜编号,数量,收入员工信息定义了员工的有关信息员工号,XX,性别,年龄,职位,联系方式外卖信息定义了外卖的有关信息学号,订餐号订餐信息定义了订餐的有关信息订餐号,食堂号,窗口号,菜编号,数量,总价送餐信息定义了每一份外卖的送餐人员订餐号,员工号,状态,送餐时间第三章 概念结构设计3.1概念结构设计的方法与步骤数据库概念结构设计阶段的任务是将需求分析得到的用户需求抽象为信息结构。概念结构设计是整个数据库设计的关键阶段,其主要任务是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模式。 概念设计阶

17、段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。3.2 数据抽象与局部视图设计按照图2.2食堂管理系统总框架图,设计局部E-R图。图3.1食堂和窗口信息局部E-R图 图3.2窗口和菜信息局部E-R图 图3.3销售收入和菜信息局部E-R图 图3.4员工和食堂信息局部E-R图 图3.5员工和窗口信息局部E-R图 图3.6学生就餐信息局部E-R图图3.7学生订餐信息局部E-R图图3.8员工送餐信息局部E-R图图3.9学生评价信息局部E-R图3.3视图的集成 经过逐步细化再进行每两个一集成初步形成一

18、个E-R图,最后得到图3.10总体概念结构E-R图。图3.10系统总体结构E-R图第四章 逻辑结构设计4.1 E-R图向关系模型的转换将图3.10总体概念结构E-R图转化成关系模型。将转化的关系模式进行优化,最终达到第三X式。 食堂信息表(食堂编号,营业状况,好评度,客流量,员工编号)窗口信息表(窗口编号,营业状况,好评度,食堂编号,员工编号) 菜单信息表(菜编号,窗口编号,食堂编号,菜名,状况,价钱,好评度) 同学评价信息单(打分编号,食堂编号,食堂分数,窗口编号,窗口分数,菜编号,菜分数,学号,时间)菜收入信息表(销售编号,菜编号,收入)员工信息表(员工编号,XX,性别,年龄,职位,联系方

19、式)学生信息表(学号,XX,性别,年龄,住址,联系方式)就餐信息表(学号,菜编号,时间)外卖信息表(学号,订餐号)订餐信息表(订餐号,食堂号,窗口号,菜编号,数量,总价)送餐信息表(订餐号,员工号,状况,送餐时间)4.2 基本表结构 根据各个实体以及实体之间的联系,再根据总体结构图设计各表的结构,其相应表的定义如下:字段名数据类型长度是否为空主/外键备注ovarchar10否主键食堂编号Cconditionchar1是否营业Cevaluationsmallint好评度Ccustomersmallint客流量Enovarchar10否外键员工号表4-1食堂信息表的结构 表4-2 窗口信息表的结构

20、字段名数据类型长度是否为空主/外键备注Wnovarchar10否主键窗口编号Wconditionchar1是否营业Enovarchar10否外键员工编号ovarchar10否外键食堂编号Wevaluationsmallint10好评度 表4-3 菜单信息表的结构字段名数据类型长度是否为空主/外键备注Dnovarchar10否主键菜编号Wnovarchar10否外键窗口编号ovarchar10否外键食堂编号Dnamevarchar30否菜名Dconditionchar1是否供应pricefloat价钱Devaluationsmallint好评度 表4-4学生评价表的结构字段名数据类型长度是否为空

21、主/外键备注Pno varchar否主键评价编号ovarchar10外键食堂编号Cpointsmallint食堂分数Wnovarchar10外键窗口编号Wpointsmallint窗口分数Dnovarchar10外键菜单编号Dpointsmallint菜单分数Snovarchar20外键学号 表4.5 菜收入信息表的结构字段名数据类型长度是否为空主/外键备注Inovarchar10否主键销售编号Dnovarchar10否外键菜编号Inefloat收入 表4.6 员工数据信息表的结构 字段名数据类型长度是否为空主/外键备注Enovarchar10否主键员工号Enamevarchar20否XXse

22、xchar2性别agesmallint年龄Eposvarchar20职位Ephonevarchar20联系方式 表4.7 学生信息表的结构字段名数据类型长度是否为空主/外键备注Snovarchar20否主键学号Snamevarchar20否XXsexchar2否性别agesmallint否年龄Saddvarchar20否住址Sphonevarchar20否联系方式 表4.8 学生就餐信息表的结构字段名数据类型长度是否为空主/外键备注Snovarchar20否主键外键学号Dnovarchar10否外键菜编号Sdatedatetime否就餐时间 表4.9 外卖信息表的结构字段名数据类型长度是否为空

23、主/外键备注Tnovarchar10否主键订餐号Snovarchar20否 学号字段名数据类型长度是否为空主/外键备注Tnovarchar10否主键订餐号ovarchar10外键食堂号Wnovarchar10外键窗口号Dnovarchar10外键菜编号Tcountsmallint数量sumfloat总价 表4.10 订餐信息表的结构表4.11 送餐信息表的结构字段名数据类型长度是否为空主/外键备注Tnovarchar10否主键外键订餐号Enovarchar10否外键员工号Tconditionchar1否状况第五章 数据库的实现5.1数据库的建立Createdatabase 食堂管理系统onpr

24、imary(name=食堂管理系统,Filename=E:program filesLSL食堂管理系统_data.mdf,Size=4MB,Maxsize=10MB,Filegrowth=1MB)Logon(name=食堂管理系统_log,Filename=E:program filesLSL食堂管理系统_log.ldf,Size=1MB,Maxsize=6MB,Filegrowth=1%)5.2 数据库基本结构的建立1、基本表的建立学生信息表的创建Createtable student(Sno varchar(20)primarykey,Sname varchar(20) not null,

25、Sadd varchar(20),Sphonevarchar(20),Sex char(2),Age smallint);员工信息表的创建Createtable Employee(Eno varchar(10)primarykey,Ename varchar(20) not null,Epos varchar(20),Ephone varchar(20),Sex char(2),Age smallint);食堂表创建Createtable cafeteria(o varchar(10)primarykey,Ccondition char(1),Cevaluation smallint,Ccus

26、tomer smallint,Eno varchar(10) not null,Foreignkey(Eno)references Employee(Eno);窗口表的创建Createtable chuangkou(Wno varchar(10)primarykey,Wcondition char(1),Eno varchar(10) not null,o varchar(10) not null,Wevaluation smallintForeignkey(o)references cafeteria(o)Foreignkey(Eno)references Employee(Eno);菜单信

27、息表的创建Createtable cai(Dno varchar(10)primarykey,Wno varchar(10) not null,o varchar(10) not null,Dname char(30) not null,Dcondition char(1),Price float,Devaluation smallintForeignkey(o)references cafeteria(o)Foreignkey(Wno)references cafeteria(Wno);同学评价表的创建Createtable pingjia(Pno varchar(10)primarykey

28、,o varchar(10),Cpoint varchar(10),Wno varchar(10),Wpoint varchar(10),Dno varchar(10),Dpoint varchar(10),Sno varchar(20)Foreignkey(o)references cafeteria(o)Foreignkey(Wno)references window(Wno)Foreignkey(Sno)references student(Sno)Foreignkey(Dno)references dish(Dno);收入表的创建Createtable Ine(Ino varchar(

29、10)primarykey,Dno varchar(10)not null,Ine floatForeignkey(Dno)references dish(Dno);订餐信息表的创建Createtable dingcan(Tno varchar(10)primarykey,o varchar(10),Wno varchar(10),Dno varchar(10),Tcount int,Sumfloat,Foreignkey(Dno)references dish(Dno),Foreignkey(o)references cafeteria(o),Foreignkey(Wno)reference

30、s window(Wno);外卖信息表的创建Createtable waimai(Tno varchar(10),Sno varchar(10),Wdate datetime,primarykey(Tno,Sno);学生就餐信息表的创建Createtable jiucan(Sno varchar(20),Dno varchar(10),Sdate datetime,Primarykey(Sno,Dno),Foreignkey(Sno)references student(Sno),Foreignkey(Dno)references dish(Dno),);送餐信息表的创建Createtable

31、 songcan(Tno varchar(10),Eno varchar(10),Tcondition char(1) not null,Primarykey(Tno,Eno),Foreignkey(Tno)references dingcan(Tno),Foreignkey(Eno)references Employee(Eno);2、添加数据insertinto student values(0912310124,原涛,11号 1506楼,24,男);3、视图的建立Createview view_waimaiAsselect sname,o,Wno,Dno,Tcount,sumFrom s

32、tudent,waimai,dingcanWhere student.Sno=waimai.Sno and waimai.Tno=dingcan.Tno4、 索引的建立建立窗口评价按降序排列的唯一索引createuniqueindex Wpingjia on Window(Wevaluation desc)建立食堂信息表的聚簇索引createclusteredindexshitanghao oncafeteria(o)建立窗口信息表的聚簇索引createclusteredindex windowhao on window(Wno)建立菜单信息表的聚簇索引createclusteredindex

33、Dishhao ondish(Dno)建立学生评价信息表的聚簇索引createclusteredindexpingjiahao onpingjia(Pno)建立菜收入信息表的聚簇索引createclusteredindexInehao onIne(Ino)建立员工信息表的聚簇索引createclusteredindexEmployeehao onEmployee(Eno)建立学生信息表的聚簇索引createclusteredindex studenthao on student(Sno)建立学生就餐信息表的聚簇索引createclusteredindexjiucanhao onjiucan(S

34、no)建立外卖信息表的聚簇索引createclusteredindexwaimaihao onjwaimai(Tno)建立订餐信息表的聚簇索引createclusteredindexdingcanhao ondingcan(Tno)建立送餐信息表的聚簇索引createclusteredindexsongcanhao onsongcan(Tno)5、 游标的建立建立以下游标,能实现对表student的按行读取数据declare cs_student scrollcursorforselect sno,sname,sadd,sphonefrom studentforread onlyopen cs

35、_studentfetchfrom cs_student不断执行fetchfrom cs_student语句,则能不断显示每行数据。在菜单表上定义一个包含Dname,price,Devaluation的游标,游标的名称为dish_cursor,将游标中绝对位置为2的菜名改为“肉末木耳”,价钱改为3.2元,好评度改为87declare dish_cursor scrollcursorforselect Dname,price,Devaluationfrom dishforupdateof Dname,price,Devaluationopen dish_cursorfetchabsolute 2

36、 from dish_cursorupdate dishset Dname=肉末木耳,price=3.2,Devaluation=87wherecurrentof dish_cursorfetchabsolute 2 from dish_cursor6、存储过程的建立建立名为dish_name的存储过程,功能为:显示每个订餐号对应的基本信息,包括订餐号,菜编号,菜名,菜所在的食堂号,菜所在的窗口号,菜价以及好评度等信息。createprocedure dish_nameasselect tno,dish.dno,dname,dish.o,dish.wno,price,devaluationfr

37、om dingcan,dishwhere dingcan.dno=dish.dno创建一个存储过程cai_price,功能如下:输入菜价,如果大于3.5,则输出菜太贵,并输出菜价;如果小于3.5,则输出菜比较便宜,并输出菜价createprocedure cai_price dprice floatasdeclare ddprice floatselect ddprice=pricefrom dishwhere dish.dno=dpriceif ddprice=3.5print菜太贵,价钱为:+convert(char(2),dprice)+元elseprint菜比较便宜,价钱为+conve

38、rt(char(2),dprice)+元5.3安全性的实现1、利用图形化工具为了提高安全性,建立系统用户,SQL SERVER用户,数据库用户。系统用户名:loginSQL SERVER用户名:LSL数据库用户名:LSL为SQL SERVER用户,数据库用户分配角色,写出分配的角色名。分配的角色名:role,db_owner2、利用Transact-SQL设计一个SQL server登录账户,并设置密码,写出相应的SQL语句。Sp_addloginLSL,123为登录XX,设计创建一个数据库用户,写出相应的SQL语句。Sp_grantdbaccessLSL,LSL为数据库用户创建数据库角色,写

39、出相应的SQL语句。sp_addrolememberdb_owner,LSLsp_addrole role,LSL5.4完整性的实现1、UNIQUE约束UNIQUE约束指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复值。与主键约束的区别是:主键约束在每个表中规定的主键只能有一个,且主键不允许有空值。但是在UNIQUE约束中是允许有空值的,并且可以在多个列上定义。比如创建菜单信息表时,规定了菜名不能重复。Createtable dish(Dno varchar(10)primarykey,Wno varchar(10),o varchar(10),Dname char(30)UNIQU

40、E,Dcondition char(1),Price float,Devaluation smallint);2、CHECK约束CHECK约束在SQL Server中被定义在表约束和列约束中。它允许指定包括在列中的值。例如,定义某列的值的X围,值列表等。在创建菜单信息表时,如指定菜价在0到10之间,则SQL语句为:Createtable cai(Dno varchar(10)primarykey,Wno varchar(10),o varchar(10),Dname char(30)UNIQUE,Dcondition char(1),Price floatcheck(price between 0 and 10),Devaluation smallint);或者,建好表之后,可以输入如下语句增加CHECK约束。altertable dishaddconstraint check_pricecheck(price=0 and price0再创建一个规则

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号