(2版)数据库实验2 数据表创建管理_第1页
(2版)数据库实验2 数据表创建管理_第2页
(2版)数据库实验2 数据表创建管理_第3页
(2版)数据库实验2 数据表创建管理_第4页
(2版)数据库实验2 数据表创建管理_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-7-实验二数据表的创建与管理一、实验目的及要求本实的验目是掌握创建数据表的两种方法,并了解对数据表修改方式。基本要求包括:掌握在可视化管理平台中创建数据表的方法。掌握通过SQL命令创建数据表的方法。掌握常见数据表列约束和表约束的创建方式。了解对数据表进行修改的基本方式。了解数据三种完整性设置与含义。二、实验原理及背景知识(一)表的结构及可视化创建 表是对数据进行存储和操作的一种逻辑结构,每个表代表一个对象。数据库通常包含多个表,每个表是一个存储数据的实体,在数据库中具有唯一的名称。 表由若干个列组成,每一个列在表中是唯一的;其列值应该为SQLServer认可的数据类型,大小则规定列值的最大长度,小数位用于定义数据型numeric列的小数位数,是否为空说明列值是否允许为空值,当某列值没有被显式输入时,SQLServer将自动输入该列的默认值。可视化管理平台中创建表方法如实验图2-1所示,在“表”文件夹上点击右键,选择“新建表”,则弹出实验图2-2所示的界面。实验图2-1创建表实验图2-2设置表结构实验图2-2中,列中各属性意义如下:名称:字段名称。长度:数据类型的长度。默认值或绑定:新增记录时,设置该字段的默认值。数据类型:字段的数据类型。允许空:设置字段是否可以为空。RouGuid:可以让SQLServer自动产生一个全局惟一字段值,用户不能输入值。展开标识规范:表示对应字段是表中的一个标识列,即新增的字段值为等差数列,字段属性列必须为tinyint,smallint,int,decimal(p,0)或者mumeric(p,0)(p为精度,0表示小数位数),具有此属性的字段会自动产生字段值,用户不能输入。标识增量:等差数列的公差,即步长。标识种子:等差数列的起始值。展开计算所得的规范:由公式来产生值。排列顺序:指定字段的排列规则。(二)常用数据类型 在SQLServer2005中常用的数据类型主要有:实验表2-1常用数据类型数据类型说明char(n)和nchar(n)固定长度的字符或Unicode字符varchar(n)和nvarchar(n)可变长度的字符或Unicode字符datetime和smalldatetime时间日期型tinyint,smallint,int,bigint各种整型数值float和real近似小数数据类型,普通的带小数点数据使用numeric和decimal精确的小数数值类型,精度高,存储占用字节大bit位数类型,主要存储bool类型数值(三)创建数据表基本语法格式CREATETABLE[database_name.[schema_name].|schema_name.]table_name(<column_definition>[<table_constraint>][,...n])[ONfilegroup|"default"}][{TEXTIMAGE_ON{filegroup|"default"}]其中,<column_definition>:=column_name<data_type>[NULL|NOTNULL][<column_constraint>[...n]] 其中,<column_constraint>:=[CONSTRAINTconstraint_name]{{PRIMARYKEY|UNIQUE|DEFAULT(default_value)]|CHECK[NOTFORREPLICATION](logical_expression)}|[FOREIGNKEY]REFERENCESreferenced_table_name[(ref_column)][ONDELETECASCADE][ONUPDATECASCADE]1、列的完整性约束条件NOTNULL约束:是否允许字段值为空UNIQUE约束:唯一性约束,不许重复DEFAULT约束:默认值,比如:sSexchar(2)DEFAULT‘男’CHEECK约束:检查约束,比如:sAgeintCHECK(Age>=10ANDAge<=50)PRIMARYKEY:主键约束,比如:sNochar(5)PRIMARYKEY2、表级完整性约束条件格式:CONSTRAINT<约束名><约束条件>UNIQUE,比如:CONSTRAINTSNo_unqUNIQUE(sName,sSex)CHECK,比如:CONSTRAINTcheck_bodyCHECK(sWeight/sHeight/sHeight>=19)PRIMARYKEY(),比如:PRIMARYKEY(sNo,ccNo)FOREIGNKEY(),比如:FOREIGNKEY(sNo)REFERENCEstudent(sNo)(四)修改数据表语法格式ALTERTABLE[database_name.[schema_name].|schema_name.]table_name{ALTERCOLUMNcolumn_name{[type_schema_name.]type_name[NULL|NOTNULL]}|ADD{<column_definition>|<table_constraint>}[,...n]|DROP{[CONSTRAINT]constraint_name|COLUMNcolumn_name}[,...n]}(五)删除数据表语法格式DROPTABLE[database_name.[schema_name].|schema_name.]table_name[,...n][;]三、实验内容及步骤(一)企业管理器管理表 1、建立“图书”表。新建数据库Test(或使用实验一数据库),在“表”选项上右击,在快捷菜单中选择的“新建表”菜单项,在实验图2-3界面中输入表的字段信息,然后点击工具栏上“保存”按钮,保存表。实验图2-3表结构编辑界面2、修改表。在对象管理器中找到要修改的表,然后右击表名,在弹出的快捷菜单中选择“修改”项,即弹出表设计窗口,就可以对表进行修改,修改完毕后保存即可。对刚才建立的“teacher”表增加一个“tTel”字段,数据类型选择为char(11)。 3、在表中输入数据。在对象管理器中展开数据库Test,进而展开“表”选项,在其中找到“图书”表,然后在表名上右击,选择“打开表”。如实验图2-4所示。实验图2-4对象资源管理器在随后出现的窗口对表中数据进行编辑即可,如实验图2-5。实验图2-5表中数据编辑界面(二)SQL命令管理表1、在数据库中创建表(1)创建student表要求:sNo为主键;sSex的默认值为'男'。(2)创建course_class表要求:ccNo为主键。(3)创建sutdent_course表要求:sNo和ccNo为主键;mark取值在大于等于0且小于等于100,即建立check约束,在sNo和ccNo上建立外键约束。3、修改所建立的3个表(1)为表course_class添加weekTime列,表示上课时间(2)修改course_class表,将mark的数据类型更改为numeric(3,0)注:“CK__student_co__mark__117F9D94”是创建sutdent_course表时自动为mark约束创建的名称,在修改mark类型时通常需要先删除依附于其上的约束。实验时,请根据实际情况修改此名称。(3)添加mark的check约束,取值区间为大于0且小于等于100(4)执行下面删除student中主键约束的命令。请读者分析语句的执行结果。(5)删除course_class中的外键约束(sno_fkey,ccno_fkey)后,再尝试删除student中的主键约束。 四、实验测验1、使用SQL语句创建下面的表实验表2-2department表信息院系信息表:department字段名称含义数据类型是否允许空约束dNo院系号Char(6)否主键dName院系名称Varchar(20)否dTel院系电话Varchar(11)以020开头实验表2-3major表信息专业信息表:major字段名称含义数据类型是否允许空约束mNo专业号Char(6)否主键mName/r/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论