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数据库实训报告——人力资源管理系统】是一份详细记录了使用Access数据库开发人力资源管理系统的实践报告。Access是一款由Microsoft公司推出的数据库管理系统,它提供了强大的数据处理和管理能力,适合小型...
《数据库技术与应用——SQL Server 2005教程》是由詹英主编的一本深入学习数据库管理和开发的教材,特别注重实践操作与理论知识的结合。SQL Server 2005是微软公司推出的数据库管理系统,它在企业级数据存储、处理和...
3. **数据库设计**:学习如何进行需求分析,设计合理的数据模型,包括ER图的绘制,以及规范化理论的应用,确保数据的一致性和完整性。 4. **索引与查询优化**:了解索引的种类(如B树索引、全文索引、空间索引等)...
### 数据库应用与管理实训知识点概述 #### 一、实训目的与基本要求 - **实训目的**:通过《数据库应用与管理》实训课程,旨在使学生掌握企业级数据库的管理和维护技能,具备解决实际问题的能力。实训侧重于培养...
《数据库系统原理与应用实训教程——PowerBuilder & SQL Server版》是一份专为初学者和有一定基础的学习者设计的电子教案,旨在通过PowerBuilder和SQL Server的结合使用,深入浅出地讲解数据库系统的原理和实际操作...
《Access数据库应用实例——企业员工考勤管理系统》实训教程涵盖了从数据库设计到功能实现的全过程,以下是关键知识点的详细解析: 一、数据库设计 1. 新建数据库:在Access中,新建数据库首先需要选择合适的存储...
【胡况JAVA数据库开发实训研究报告】是一份详细记录了胡况在进行JAVA数据库应用开发实训过程中的学习成果和项目实施情况的文档。该报告聚焦于一个具体的实训课题——设计与实现一个图书管理系统,旨在通过实践操作...
Access数据库技术是微软开发的一种关系型数据库管理系统,广泛应用于数据管理、数据分析和报表制作等领域。在实际应用中,交叉表查询和操作查询是两种非常重要的查询类型,它们可以帮助用户更有效地处理和分析数据。...
作者认为,数据库的复杂性要求其分析整合需逐步深入,未来的发展应着重于安全性、完整性和灵活性。数据库将成为信息系统发展的基石,市场需求将持续增长。本书对于数据库开发技术人员来说,是掌握理论与技能的宝贵...
数据库实训是IT教育中常见的一环,旨在让学生通过实践操作,深入理解数据库管理系统的原理、设计与应用。在这个实训项目中,我们关注的是一个具体的案例——宾馆管理系统。这个系统是数据库技术在实际业务场景中的...
《数据库系统原理与应用实训教程——PowerBuilder & SQL Server版》源代码是一个针对数据库系统学习的实践性教学资源,主要涵盖了使用PowerBuilder作为前端开发工具和SQL Server作为后端数据库管理系统进行应用程序...
通过建立电脑硬件销售系统这一实训项目,学生进一步巩固了Access的使用技巧,理解了数据库系统在实际业务场景中的应用,强化了对管理信息系统重要性的认识。 总的来说,此次实训提供了宝贵的实践经验,不仅锻炼了...
### 数据库SQL实训设计报告——图书管理系统 #### 引言 随着信息技术的迅速发展,图书管理系统也迎来了新的挑战和机遇。传统的纸质记录方式不仅效率低下,而且容易出现错误。因此,设计并实施一个高效的图书管理...
2. 客户信息数据库的基础知识:包括数据库的设计原则、数据模型(如关系型数据模型)、数据类型、数据完整性等概念。 3. 数据库的内容:学生需要了解客户信息数据库通常包含的条目,如客户基本信息(姓名、联系方式...
在“数据库管理与应用-1期 单元实践项目2”的实训任务中,学生将深入学习和实践数据库设计的关键步骤,主要包括数据建模、E-R图转换为关系模型以及关系模型的规范化。这些任务旨在强化对SQL Server 2005数据库系统的...
综上所述,这个实训项目旨在教授学生如何使用Java语言开发机票预订系统,同时涵盖两种不同的数据管理方式——有数据库和无数据库。通过参与这个实训,学生将深入理解软件工程的实践过程,学习如何有效地组织代码,...
在这个实训项目中,我们首先会接触到“建库”——创建数据库。在SQL Server中,创建数据库通常通过CREATE DATABASE语句实现,需要指定数据库名称、文件路径、大小等参数。创建数据库是整个系统的起点,为后续的数据...
通过这个实训PPT,你不仅能够理论联系实际,掌握ASP.NET的核心技术,还能了解项目开发的完整流程,提升你的Web开发技能。记住,实践是检验知识的最好方式,因此在学习过程中,一定要动手操作,不断尝试和调试,才能...
- **实训名称**:C/S信息系统开发实训(Java方向) - **项目名称**:学生成绩管理系统 - **实训目的**: - 掌握Java语言的基础知识,包括类与对象、类重用、接口和多态、数组等概念。 - 熟练使用Eclipse作为Java...