版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、模块三 表结构建立与维护(I) 课题一 在企业管理器中建立表 教学目标 通过学习让学生掌握SQL的常用数据类型及应用,能在企业管理器中建立表结构,能在企业管理器中查找表并能修改表结构,会删除表。教学内容 1、 SQL中的常用数据类型 2、 在企业管理器中建立表结构 3
2、、 在企业管理器中修改表结构 4、 删除表 教学重难点 1、 SQL中的常用数据类型 2、 在企业管理器中建立表结构 教学形式 理实一体型教学条件 教师计算机、学生计算机,SQL Server 2000系统,教学软件教学内容
3、 任务1 分析表格列的构成,引出表的结构,表的数据类型 、分析表格该表格的标题是“学生基本信息表”,由专题一知道该表格对应数据库中的一张表,表名为“ STU ”,表格的每一列在表中称为“字段”,表格的行在表中称为“记录”。一张表格与数据库中的表有如下的对应关系。项目表格(现实世界)表(计算机世界)名称表格名(学生基本信息表) 表名( STU ) 列表格列(学号、姓名 、 ) 字段( XH 、XM、 ) 行表格行(表格的内容) 记录(表的内容) 表格的列说明了这个表格的组成关系,表的字段形成了表的结构。表格的列有宽度限制,有不同的数据类型,如“学号”为 12 个宽度的数字字符数据,“
4、出生日期”为日期型的数据,“总成绩”为带 1 位小数位的实数,“名次”为正整数。那么表的字段有哪些数据类型呢? 在 MS SQL SERVER 2000 中字段的数据类型有:数值型、字符串型、时间日期型等几大类。()数值型 数值型的数据类型用于表示数字,一般常用的格式为:numeric(n,d) 这里 n 是精度,表示小数点左边和右边的十进制最大的个数,这里不包括小数点。 d 是小数位数,表示在小数点右边的小数部分的位数。这是数据库中最通用的表示数值的形式,还有一种格式与它相同,格式为:decimal(n,d)例如,表示职工工资可以使用 numeric(10,2) 数据类型,单位为人民币元,这
5、表示小数部分为 2 位,也就是表示到分;它可以表示的最大范围是 99999999.99 ,这已经达到了九千九百多万了,显然在现实生活中一个职工的月工资不会达到那么多,则可以根据实际情况使用 numeric(8,2) 或 numeric(7,2) 。有时候可能只需要一个整数, 例如,考试成绩是百分制的,则可以使用 numeric(3,0) ,这样在存储上比较浪费,所以数据库还设置了一些常用的数值类型,如下所示: 类型数据表示int表示整数,使用四个字节存储;smallint表示整数,使用二个字节存储;real表示浮点数;float表示浮点数;money表示币值,小数点后有四位小数数字,代表货币或
6、现金值的货币数据类型,其数据值介于 -2 63 (-922,337,203,685,477.5808) 与 2 63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。存储大小为 8 个字节。smallmoney表示币值,小数点后有四位小数数字,代表货币或现金值的货币数据类型。其数据值介于 -214,748.3648 与 +214.748,3647 之间,精确到货币单位的千分之十。存储大小为 4 个字节。所以工资的最好表示数据类型是 smallmoney 。()字符串型现在的数据库系统都支持两种类型的串:字符串、二进制串。字符串就是可以显示的串,一
7、般表示文本内容。二进制串是以计算机系统内部格式表示的数据对象,它需要相关软件进行解释和处理,例如图像、声音、视频等多媒体信息。 我们这里主要介绍字符串。一般字符串的表示格式为: char(n) 它表示一个字符串, n 是字符串中字符的个数。例如我们要存储职工姓名,因为一般我们的名字最多三个汉字,当然现在四个汉字的姓名也比较多,要把这些情况包括进去最好的格式为: char(8) 【注意】每一个汉字占两个英文字符串,所示要使用 8 。 一般来说 char(8) 定义了存储时要存储八个字节,即使存储两个汉字(四个字节),那么剩下的四个字节也要使用空格填满。为了解决存储空间的问题,数据库系统又引入了下
8、列字符类型: varchar(n) 它表示一个变长的字符串。与 char 相比, varchar 类型的数值按照实际长度进行存储。例如,使用 varchar(8) 表示职工姓名,如果现在存储职工“张三”,则按照实际数据的长度(两个汉字,即 4 个字节)来存储。如果使用 char(8) ,则要存储 8 个字节。 text 定义了一个最多可以为 2GB 的定长字符,常用于存储大量文本块。数据库系统一般把这种数据类型作为多媒体信息单独处理。 SQL Server 还提供了 nchar 、 nvarchar 、 ntext ,希望同学们参考有关资料。 这里我们要强调的是:对于数据库用户来讲,要掌握 c
9、har(n) 的使用,理解 char(n) 与 varchar(n) 之间的差异,这两者在表示能力上和内部存储上都有差异。我们在初学数据库阶段,只要考虑正确性,不需要太多考虑性能。就目前而言,使用哪种方式都可以。但是在数据库系统性能低的情况下,就需要考虑究竟使用哪种方式效率会更高。 text 与 char(n) 的差异是表示范围上, char(n) 最多可以表示 8000 个字符, text 最多可以表示 2GB 的字节。()日期时间型 对于日期和时间类型,不同数据库系统有不同的处理方式。 SQL Server 支持下列的日期和时间类型:
10、0; datetime 以八个字节的整数形式存储日期和时间值。从 1753 年 1 月 1 日至 9999 年 12 月 31 日的日期。 smalldatetime 以四个字节的整数形式存储日期和时间值。使用 smalldatetime 数据类型存储从 1900 年 1 月 1 日至 2079 年 6 月 6 日的日期。 在 Transact-SQL 语言中使用两个单引号或者双引号括起来的字符串来表示时间日期。一般建议使用单引号。 例 1.3 , SQL Server 可以识别下列格式(在单引号 '
11、中表示的字符)所表示的日期和时间: 如'1998-2-15' 、 '1998/12/07' 、 '19981207' 、 '19981207 14:30:00 '、表的设计 根据上面对 SQL 数据类型的介绍,对上述示例表格设计表为:(1)表名: STU (2)字段: 序号字段名类型宽度中文说明 1XHCHAR12学号(主键) 2XMCHAR8姓名 3XBCHAR2性别 4CSRQDATETIME8出生日期 5BJBHVARCHAR9班级编号 6ZCCHAR1注册标志 0 未注册 1 已注册 7ZCJNUMERIC6,1总成绩 8
12、MCINT4名次 (3)常用表示法:任务 2 用企业管理器建立 STU 表 在企业管理器中找到 STUCJ 数据库,点右键选“新建表”进入表建立界面:在新建表中输入相应的字段、字段类型、宽度,其界面与 ACCESS 界面类似。然后保存,在对话框中输入表名:“ STU ”,点“确定”,表 STU 就建好了。实训 1 :根据实例表格,设计出表 Class (班级表)、 Course (课程表)、 SeleCourse (选课表),并用企业管理器建立这些表。任务3 用企业管理器删除 STU 表进入企业管理器,选中 STU 表,点工具栏的删除键,进入确定界面进行确定后该表被删除。实训 2 :在企业管理
13、器中,将 Class 、Course 、 SeleCourse 三个表删除。小结本讲通过对现实世界中表格与数据库中的表的对应关系,表格名对应数据库的表名,表格列对应数据库表的字段,表格行对应数据库表的记录。可以将现实的表格转换为信息世界中数据库的表。在介绍了MS SQL Server2000中的数据类型,包括数值型、字符串型、时间日期型等几大类后,我们可以准确的设计数据表的结构,包括表名,字段名,字段数据类型及大小等。然后采用企业管理器,可以在数据库中以图形化的方式建立数据表。最后学习了在企业管理器中将数据表删除的方法。课后总结 课题二 在查询分析器中建立表 教学目标
14、160; 通过学习让学生会利用SQL语句建立表结构。教学内容 1、 SQL命令建立表结构 2、 Create Table命令语法分析 教学重难点 SQL命令建立表结构 教学形式 理实一体型教学条件
15、160; 教师计算机、学生计算机,SQL Server 2000系统,教学软件教学内容 任务3 用 SQL 语句建立 STU 表 在前面的教学中,我们知道不仅可以使用企业管理器创建数据库,还可以通过查询分析器创建数据库。在上一讲,大家可以使用企业管理器在SYGL数据库中创建学生信息表STU,那么能否在查询分析器中创建数据表呢?答案是肯定的,创建数据表的SQL语句如下:CREATE TABLE 命令: use sygl go create table stu (xh char(12) primary key not null,
16、 xm char(8) , xb char(2), csrq datetime, bjbh char(9), zc char(1),zcj numeric(6,1), mc int) 【注意】在创建数据表时,必须使用use database命令指明在哪个数据库中创建,否则在当前数据库中创建表。运行界面:命令运行成功后生成的数据表如下图:建立 Class 的 SQL 命令: Create table Class (ClassID char(9) not null,ClassName varchar(40),ZYID char(6),ClassRs int,Cl
17、assMan char(8)由此可以得到建立表的一般 SQL 命令格式:CREATE TABLE简洁语法如下:CREATE TABLE < 表名 >( < 列名称 > < 列类型 > < 列说明 > , constraint < 约束名称 > < 约束条件 >) 其中:< 表名 > 是新建表的名称。< 列名称 > 是表中列的名称。< 列类型 > 是列的数据类型,它
18、既可以是 SQL Server 系统数据类型,也可以是用户定义的数据类型。< 列说明 > 说明列长度、列的默认值、主键等有关该列的约束条件。< 约束名称 > 是表中所建立约束的名称,它在数据库中是唯一的。< 约束条件 > 是约束条件的具体内容。 实训 3 :用 SQL 语句建立课程( Course )表、选课( SeleCourse )表。 小结本讲主要讲解在查询分析器中写SQL命令创建数据表,在创建表时要注意几点:使用use database命令在指定的数据库中创建表;使用create table命令建表时,一定要指明表名称,表名后有一对括号;
19、 l 在创建表字段时,一定要指定字段名、数据类型及大小,以及主键,是否为空,默认值等属性。 课后总结课题三 在查询分析器中修改表结构表 教学目标 通过学习让学生会利用SQL语句修改表结构,能用SQL语句删除表。教学内容 1、 增加字段 2、 改变字段类型和宽度3、 删除字段 4、 修改字段名 5、 表删除教学重难点
20、 1、 改变字段类型和宽度 2、 修改字段名 3、 增加、删除字段 教学形式 理实一体型教学条件 教师计算机、学生计算机,SQL Server 2000系统,教学软件教学内容在一张表建立之后,如果发现有不妥之处,则可以更改表的定义。更改表定义的操作有两种方式:使用【企业管理器】和 SQL 语句。由于使用【企业管理器】修改表定义与使用【企业管理器】建立新表操作非常类似,这里不再赘述。
21、160;任务1 向表STU中添加一个字段,zp即照片字段,为image类型 SQL 命令为: Alter table stu add zp image 从运行结果来看命令已执行,表 STU 中就增加了一个字段( ZP image ),命令的关键在: ALTER TABLE :修改表结构,命令项 STU :为修改的对象(表),可变项 ADD :增加列,命令项 ZP Image :增加的列,可变项。 【加强】给 STU 表增加一个字段 ZD1 char(8) : Alter Table STU ADD ZD1 char(8) 实训 1 :给 STU
22、表增加字段( ZD2 int )和字段( JL text )简历(文本型)。 实训 2 :给 Class 班增加字段 Sex char(2) ,给 Course 表增加字段 KCXZ char(5) 任务2 将表 STU 中字段 name 的宽度变为 10 ,原宽度为 8 。任务说明:姓名字段( name )原来的宽度为 8 个字符,如果现在有位同学的姓名是“玛丽亚莱西”,共 10 个字符超过了 8 个,该列的宽度不能适应问题,在处理表格时我们将其拉宽,在 SQL SERVER 中如何处理呢?用命令: Alter table stu alter column name char(10) ,将
23、XM 字段重新定义为 CHAR ( 10 )。 看运行情况: 未执行命令前: 执行命令后:实训 1 : 将学号字段( XH )宽度由 12 位增加到 16 位,将姓名字段( XM )宽度由 10 位变为 8 位。实训 2 : 将注册字段( ZC )由字符型( char )改为整型( int )。 任务3 将表 STU 中增加的字段 ZD1 删除如果表中的一列在表格中和适合,我们就将其删除,在表 STU 中如何删除一个字段 ZD1 呢?未删除前:删除后:在 SQL 中删除一个字段的命令为: Alter table STU drop column zd1 其中: l
24、0; Alter table :修改表的命令,不变项。 l STU : 被修改的表,可变项 l Drop column :删除列,命令,不变项。 l ZD1 :被删除的列,可变项。 实训 1 : 将 STU 表中的 ZP 字段删除。 实训 2 : 将
25、BJ 班字段 XB char(6) , KC 表字段 KCXZ char(5) 删除。任务 4 将表 STU 中增加的字段 ZC 的字段名改为 ZHUCE ,类型和宽度不变。如果我们要用 SQL 命令更改表的字段名,用一个系统存储过程 SP_RENAME 来实现,要实现将 ZC 字段改为 ZHUCE 用: SP_RENAME stu.zc','ZHUCE','COLUMN' 其中:l SP_RENAME : SQL 命令,不变项 l
26、160; stu.zc : STU 表的 ZC 字段,可变项 l ZHUCE :新字段名,可变项 l COLUMN :命令项,不变项,表示改的是列“ column ” 执行前:执行命令后:实训 1 :将 STU 表的 JL 字段名改为“ JIANLI ”。实训 2 :用 SQL 命令将 STU 表删除。问题:表结构建好后,如何将记录存
27、放于数据表内?我们将在下一讲介绍数据表记录的添加等操作。 小结本讲讲解了在查询分析器中使用SQL命令修改数据表结构,修改操作包括增加字段,修改字段数据类型及其宽度,修改字段名称,删除字段等,最后还介绍了使用SQL命令删除数据表。课后总结 实训 表结构的建立与修改 实训目的1、 复习数据库的建立;2、 会用SQL命令建立表结构3、 会用SQL命令修改表结构4、 会用SQL命令删除表实训要求 1、 实训前做好上机实训的准备,针对实训内容,认真复习与本次实训有关的知识,完成实训内容的预习准备工作;
28、2、能认真独立完成实训内容; 3、实训后做好实训总结,根据实训情况完成总结报告。 实训学时 学时实训项目1、 建立一个名为:SYGL的数据库,将数据文件和日志文件存放于D:SQL,数据文件:初始大小为2MB,文件按10%自动增长,文件最大为400MB;日志文件:初始大小为1MB,文件按1%自动增长,文件最大为200MB。2、 在SYGL数据库中,创建如下数据表: 表名:班级表Class字段数据类型描述为空默认值主键ClassIDChar(9)班级IDNo 是ClassNameVarchar(40)班级名
29、称Yes ZYIDChar(6)专业IDYes ClassRsInt Yes0 ClassManChar(8)班主任Yes 表名:班级选课表ClassSeleCourse字段数据类型描述为空默认值主键SeleIDInt选课IDNo 是CourseIDVarchar(14)课程IDYes TeaIDChar(9)教师IDYes ClassIDChar(12)班级IDYes 表名:课程Course字段数据类型描述为空默认值主键Course
30、IDChar(14)班级IDNo 是CourseNameVarchar(60)班级名称Yes CourseJCChar(14)课程JCYes PyfaIDChar(10) Yes 表名:LabStu字段数据类型描述为空默认值主键IDInt No 是SeleIDInt Yes TtextText Yes 表名:LabTea字段数据类型描述为空默认值主键IDint No 是SeleIDint Yes&
31、#160; TtextText Yes 表名:选课SeleCourse字段数据类型描述为空默认值主键SeleIDInt选课IDNo 是CourseIDChar(14)课程IDNo TeaIDChar(9)教师IDNo StuIDChar(12)学生IDNo 表名:学生Student字段数据类型描述为空默认值主键StuIDChar(12)学生IDNo 是NameVarchar(20)姓名Yes“男” SexChar(2)性别Yes BirthdaySmalldatetime生日Yes ClassIDChar(9)班级IDYes 表名:教师表Teacher字段数据类型描述为空默认值主键TeaIDChar(14)教师IDNo 是TeaNameVarchar(60)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专题六 蒙版(课件)-职教高考电子与信息《图形图像处理》专题复习讲练测
- 我国民事法律责任制度
- 打字员管理责任制度
- 执纪目标责任制度
- 2026三年级数学上册 正方形的周长
- 抖音网络安全责任制度
- 护理首问责任制制度
- 持枪人管理责任制度
- 接警员首接责任制度
- 搜一下防汛责任制度
- 包装净菜车间卫生制度
- 2025-2026学年岭南版小学美术六年级第二学期教学计划及教学进度表
- 广东省事业单位2026年集中公开招聘高校毕业生【11066人】笔试备考试题及答案解析
- 仲裁委员会财务制度
- 雨课堂学堂在线学堂云安全科学原理(中南大学)单元测试考核答案
- 磨矿培训教学课件
- 物流运输安全协议范本
- 食品生产首件确认制度
- 太阳能发电安全培训课件
- 放射科医疗质量PDCA持续改进方案
- 2025年关于三重一大事项集体决策制度执行情况的自查报告
评论
0/150
提交评论