`
bulote
  • 浏览: 1354038 次
文章分类
社区版块
存档分类
最新评论

实训数据库开发应用——数据完整性

 
阅读更多

1.写出定义满足如下条件的表的sql语句,表结构为:

学生表(

学号:字符型,长度为6,主码,

姓名:字符型,长度为6,取值不重,

性别:字符型,长度为2,取值只能是‘男’和女’,

年龄:小整型,取值范围为15~45,

所在系:字符型,长度为12,取值只能是‘IS’、‘CS’和‘MA’,

电子邮件:字符型,长度为14,取值形式为:6位名字(每一位必须为字母)+‘@263.net’)

createtablesss

(学号char(6)primarykey,

姓名char(6)unique,

性别char(2)check(性别in('男','女')),

年龄smallintcheck(年龄between15and45),

所在系char(12)check(所在系in('IS','CS','MA')),

电子邮件char(14)check(电子邮件like

'[a-z][a-z][a-z][a-z][a-z][a-z]@263.net'))

2.用CreateTable语句创建如下表,并实现其全部约束。

教师表,结构为:

教师号:普通字符编码定长字符型,长度为8,主码,

教师名:普通字符编码定长字符型,长度为8,非空,

职称:普通字符编码定长字符型,长度为6,取值范围为:{教授、副教授、讲师},

工资:定点小数,小数点前4位,小数点后2位,大于1000

联系电话:普通字符编码定长字符型,长度为14,取值形式为:‘(3位区号)-8位号码’,除8位号码中的第一位从1开始之外,其他号码均为0~9

出生日期:小日期时间型,小于等于当前日期,

参加工作日期:小日期时间型,小于等于当前日期,

退休日期:小日期时间型,大于参加工作日期)

createtable教师表(

教师号char(8)primarykey,

教师名char(8)notnull,

职称char(6)check(职称in('教授','副教授','讲师')),

工资numeric(6,2)check(工资>1000),

联系电话char(14)check(联系电话like'([0-9][0-9][0-9])-[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),

出生日期smalldatetimecheck(出生日期<=getdate()),

参加工作日期smalldatetimecheck(参加工作日期<=getdate()),

退休日期smalldatetime,

check(参加工作日期<退休日期)

)

3.创建一个顾客购物数据库,在此数据库中创建如下两张表:

顾客表(顾客ID字符型长度为10,

顾客名字符型长度为10,

电话字符型长度为12,

地址字符型最长为30,

社会保险号码字符型长度为15)

订购表(商品ID字符型长度为15,

商品名称字符型长度为20,

顾客ID字符型长度为10,

订购数量整型,

订购日期短日期型,

交货日期短日期型)

使用图形化工具或SQL语句实现如下约束:

--1.为顾客表添加主码约束,为订购表添加主码约束

--2.为订购表添加外码约束

--3.限制顾客表电话号码的形式:三位区号-8位电话号码,每位均为数字

--4.当顾客没有提供地址时,使用默认值'UNKNOWN'

--5.限制订购表的"订购数量"必须大于0

--6.限制订购表的"订货日期"必须早于"交货日期"

--7.限制顾客表"社会保险号码"取值不能重复

createtable顾客表(

顾客IDchar(10)notnull,

顾客名char(12),

电话char(12),

地址varchar(30),

社会保险号码char(15))

droptable订购表

createtable订购表(

商品IDchar(20)notnull,

商品名称varchar(20)notnull,

顾客IDchar(10)notnull,

订购数量int,

订货日期smalldatetimenotnull,

交货日期smalldatetime)

--1.为顾客表添加主码约束

altertable顾客表

addconstraintpk_ID

primarykey(顾客ID)

--为订购表添加主码约束

altertable订购表

addconstraintpk_dg

primarykey(商品ID,顾客ID,订货日期)

--2.为订购表添加外码约束

altertable订购表

addconstraintfk_dg

foreignkey(顾客ID)references顾客表(顾客ID)

--3.限制顾客表电话号码的形式:三位区号-8位,号码,每位均为数字

altertable顾客表

addconstraintchk_phone

check(电话like'[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

--4.当顾客没有提供地址时,使用默认值'UNKNOWN'

altertable顾客表

addconstraintdf_dz

default'UNKNOWN'for地址

--5.限制订购表的"订购数量"必须大于0

altertable订购表

addconstraintchk_dgsl

check(订购数量>0)

--6.限制订购表的"订货日期"必须早于"交货日期"

altertable订购表

addconstraintchk_1

check(订货日期<交货日期)

--7.限制顾客表"社会保险号码"取值不能重复

altertable顾客表

addconstraintun_1

unique(社会保险号码)

<!--EndFragment-->
分享到:
评论

相关推荐

    access数据库实训报告——人力资源管理系统.doc

    【Access数据库实训报告——人力资源管理系统】是一份详细记录了使用Access数据库开发人力资源管理系统的实践报告。Access是一款由Microsoft公司推出的数据库管理系统,它提供了强大的数据处理和管理能力,适合小型...

    数据库技术与应用——SQL Server 2005教程 詹英 主编实训答案

    《数据库技术与应用——SQL Server 2005教程》是由詹英主编的一本深入学习数据库管理和开发的教材,特别注重实践操作与理论知识的结合。SQL Server 2005是微软公司推出的数据库管理系统,它在企业级数据存储、处理和...

    SQL Server 2012数据库技术与应用(微课版)-综合实训及答案.zip

    3. **数据库设计**:学习如何进行需求分析,设计合理的数据模型,包括ER图的绘制,以及规范化理论的应用,确保数据的一致性和完整性。 4. **索引与查询优化**:了解索引的种类(如B树索引、全文索引、空间索引等)...

    《数据库应用与管理》实训指导书

    ### 数据库应用与管理实训知识点概述 #### 一、实训目的与基本要求 - **实训目的**:通过《数据库应用与管理》实训课程,旨在使学生掌握企业级数据库的管理和维护技能,具备解决实际问题的能力。实训侧重于培养...

    《数据库系统原理与应用实训教程——PowerBuilder & SQL Server版》电子教案

    《数据库系统原理与应用实训教程——PowerBuilder & SQL Server版》是一份专为初学者和有一定基础的学习者设计的电子教案,旨在通过PowerBuilder和SQL Server的结合使用,深入浅出地讲解数据库系统的原理和实际操作...

    Access数据库应用实例——企业员工考勤管理系统.pdf

    《Access数据库应用实例——企业员工考勤管理系统》实训教程涵盖了从数据库设计到功能实现的全过程,以下是关键知识点的详细解析: 一、数据库设计 1. 新建数据库:在Access中,新建数据库首先需要选择合适的存储...

    胡况JAVA数据库开发实训研究报告.doc

    【胡况JAVA数据库开发实训研究报告】是一份详细记录了胡况在进行JAVA数据库应用开发实训过程中的学习成果和项目实施情况的文档。该报告聚焦于一个具体的实训课题——设计与实现一个图书管理系统,旨在通过实践操作...

    Access数据库技术及应用实训查询Ⅱ——交叉表查询和操作查询PPT学习教案.pptx

    Access数据库技术是微软开发的一种关系型数据库管理系统,广泛应用于数据管理、数据分析和报表制作等领域。在实际应用中,交叉表查询和操作查询是两种非常重要的查询类型,它们可以帮助用户更有效地处理和分析数据。...

    网络环境下数据库的系统整合与发展——评《计算机网络与数据库应用技术》.pdf

    作者认为,数据库的复杂性要求其分析整合需逐步深入,未来的发展应着重于安全性、完整性和灵活性。数据库将成为信息系统发展的基石,市场需求将持续增长。本书对于数据库开发技术人员来说,是掌握理论与技能的宝贵...

    数据库实训

    数据库实训是IT教育中常见的一环,旨在让学生通过实践操作,深入理解数据库管理系统的原理、设计与应用。在这个实训项目中,我们关注的是一个具体的案例——宾馆管理系统。这个系统是数据库技术在实际业务场景中的...

    《数据库系统原理与应用实训教程

    《数据库系统原理与应用实训教程——PowerBuilder & SQL Server版》源代码是一个针对数据库系统学习的实践性教学资源,主要涵盖了使用PowerBuilder作为前端开发工具和SQL Server作为后端数据库管理系统进行应用程序...

    管理信息系统access实训报告——STY.doc

    通过建立电脑硬件销售系统这一实训项目,学生进一步巩固了Access的使用技巧,理解了数据库系统在实际业务场景中的应用,强化了对管理信息系统重要性的认识。 总的来说,此次实训提供了宝贵的实践经验,不仅锻炼了...

    数据库SQL实训设计报告图书管理系统.doc

    ### 数据库SQL实训设计报告——图书管理系统 #### 引言 随着信息技术的迅速发展,图书管理系统也迎来了新的挑战和机遇。传统的纸质记录方式不仅效率低下,而且容易出现错误。因此,设计并实施一个高效的图书管理...

    《客户关系管理》实训项目二.pdf

    2. 客户信息数据库的基础知识:包括数据库的设计原则、数据模型(如关系型数据模型)、数据类型、数据完整性等概念。 3. 数据库的内容:学生需要了解客户信息数据库通常包含的条目,如客户基本信息(姓名、联系方式...

    数据库管理与应用-1期 单元实践项目2的实训任务单.pdf

    在“数据库管理与应用-1期 单元实践项目2”的实训任务中,学生将深入学习和实践数据库设计的关键步骤,主要包括数据建模、E-R图转换为关系模型以及关系模型的规范化。这些任务旨在强化对SQL Server 2005数据库系统的...

    初级java实训机票预订系统为了完成老师的作业

    综上所述,这个实训项目旨在教授学生如何使用Java语言开发机票预订系统,同时涵盖两种不同的数据管理方式——有数据库和无数据库。通过参与这个实训,学生将深入理解软件工程的实践过程,学习如何有效地组织代码,...

    人事管理系统数据库设计源代码

    在这个实训项目中,我们首先会接触到“建库”——创建数据库。在SQL Server中,创建数据库通常通过CREATE DATABASE语句实现,需要指定数据库名称、文件路径、大小等参数。创建数据库是整个系统的起点,为后续的数据...

    Web程序设计——ASP.NET项目实训PPT.zip

    通过这个实训PPT,你不仅能够理论联系实际,掌握ASP.NET的核心技术,还能了解项目开发的完整流程,提升你的Web开发技能。记住,实践是检验知识的最好方式,因此在学习过程中,一定要动手操作,不断尝试和调试,才能...

    java实训指导书

    - **实训名称**:C/S信息系统开发实训(Java方向) - **项目名称**:学生成绩管理系统 - **实训目的**: - 掌握Java语言的基础知识,包括类与对象、类重用、接口和多态、数组等概念。 - 熟练使用Eclipse作为Java...

Global site tag (gtag.js) - Google Analytics