版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据库原理与应用》任务2.5创建电力调度管理系统数据表项目2:数据库安装与实施第6讲进入数据表的世界主讲人:费强通过前面的任务完成了达梦数据库的安装部署、实例配置,并构建了表空间与业务模式的底层基础,数据库环境已为承载核心业务数据做好了充分准备。目前需要在电力调度管理系统数据库EPDMS中创建一系列数据表,包括区域表T_AREA、社区街道表T_COMMUNITY、管理员账号表T_ADMININFO、普通用户账号表T_USERINFO、用户用电表T_CONSUME、街道供电表T_SUPPLY、街道供电量申请表TSUPPLYSTATUS、电力计费表T_ELECTRICITYPRICE、电力调度任务表T_SCHEDULETASK和调度任务分配表T_ASSIGNMENT。素质目标能力目标知识目标1)理解电力调度管理系统8张业务表的核心字段、数据类型及主外键关系。2)掌握达梦数据库常用的数值、字符、日期、大对象类型及其适用场景。1)具备使CREATETABLE及ALTERTABLE语句在EPDMS模式下完成8张表的创建与完整性约束补充的能力。2)具备通过DM管理工具新建查询窗口批量执行建表脚本并定位语法错误的能力。1)养成先设计后建表、先主表后从表的建表顺序意识。2)养成通过外键、非空、主键约束保障数据完整性的习惯。2.5.1数据表的设计在设计表时,需要注意表的结构、数据类型以及数据完整性约束3方面的内容,具体来说,包括以下几个方面:1)确定数据表字段(列)2)定义字段名称3)选择对应数据类型4)设置字段是否允许为空5)配置数据完整性约束6)创建并设置索引类型7)分配数据访问权限【例2-4】设计电力调度系统数据库EPDMS中的区域表T_AREA,如表2-6所示。表2-6
区域表T_AREA序号字段名含义类型宽度允许空索引数据完整性约束1AREA_ID区域编号VARCHAR10否主键从101开始编码2AREA_NAME区域名称VARCHAR20否
2.5.2数据类型数据类型决定数据存储格式、占用空间,直接影响存取与查询效率,是数据库设计关键。数据类型包含以下4个方面的内容:1)类型种类2)存储长度3)数值精度4)小数位数各数据库数据类型大体一致,存在细微差异。达梦数据库中常见的数据类型见表2-2。2.5.2数据类型表2-7
达梦数据类型分类数据类型含义取值范围数值型NUMERIC用于存储零、正负定点数
NUMBER跟NUMERIC相同
DECIMAL/DEC跟NUMERIC相似
BIT用于存储整数数据1、0或null
INTEGER/INT用于存储有符号整数-231~231--1PLS_INTEGER与INTEGER相同-231~231--1BIGINT用于存储有符号整数-263~263--1TINYINT用于存储有符号整数-128~+127BYTE与TINYINT相似
SMALLINT用于存储有符号整数
BINARY指定定长二进制数据
VARBINARY指定变长二进制数据
REAL带二进制的浮点数
FLOAT二进制精度的浮点数
DOUBLE同FLOAT相似
DOUBLEPRECISION指明双精度浮点数
字符型CHAR/CHARACTER长字符串,最大长度由数据库页面大小决定
VARCHAR可变长字符串,最大长度由数据库页面大小决定
多媒体型TEXT/LONGVARCHAR用于存储长的文本串
IMAGE/LONGVARBINARY用于存储多媒体信息中的图像类型
BLOB指明变长的字符串
CLOB指明变长的字符串
BFILE指明存储在操作系统中的二进制文件
日期型DATE包括年、月、日信息
TIME包括时、分、秒信息0~6TIMESTAMP/DATATIME包括年、月、日、时、分、秒信息0~6TIMEWITHTIMEZONE描述一个带时区的TIME值
TIMESTAMPWITHLOCALTIMEZONE描述一个本地时区的TIMESTAMP值。
布尔型BOOL/BOOLEAN布尔数据类型TRUE和FALSE。2.5.2数据类型表2-2所列数据类型中一些特殊类型含义如下。①NUMERIC:定点数,含精度(总位数1~38,默认38)、标度(小数位数,默认0),标度不大于精度。②FLOAT:浮点数,最大二进制精度53、十进制精度15,取值范围−1.7E+308∼1.7E+308。③CHAR:定长字符串,长度受数据库页大小限制,长度不足自动补空格。④TIMESTAMPWITHTIMEZONE:带时区的时间戳,时区范围\(-12:59\sim+14:00\),如“2009-10-1119:03:05.0000-02:10”。2.5.3创建数据表在设计完数据表以及掌握数据类型可以进行创建相关数据表,创建数据表使用CREATETABLE语句,语法格式如下:2.5.3创建数据表列级约束包括非空约束、主键约束、外键约束、唯一性约束、检查约束和默认约束,格式如下。1)非空:NULL/NOTNULL2)主键:PRIMARYKEY3)外键:REFERENCES表(关联键)4)唯一:UNIQUE5)检查:CHECK((条件)6)默认值:DEFAULT(值)表级约束1)主键:[CONSTRAINT名]PRIMARYKEY(字段)2)外键:[CONSTRAINT名]FOREIGNKEY(外键)REFERENCES表(关联键)3)[CONSTRAINT名]CHECK(条件)4)[CONSTRAINT名]UNIQUE(字段)2.5.3创建数据表【例2-5】根据表2-1,创建数据表T_AREA(完整性约束暂不创建)。达梦数据库标识列(自增列)特点:1)仅支持无小数整数类型2)数值自增唯一,单表仅能设一列3)插入无需手动赋值,系统自动生成创建需指定:整数类型、种子(首行初始值,默认1)、步长(自增幅度,默认1),业务设计常用。2.5.3创建数据表【例2-6】创建数据表TEST1,包含名为ID、类型为INT、种子为1、递增量为1的标识列,名为NAME的普通数据列。2.5.4数据完整性约束创建表需遵守三类完整性约束:实体约束:主键非空且唯一,唯一标识每行参照约束:外键只能匹配关联表主键或空值,保证表关系合法;自定义约束:用户自定义校验规则常用约束说明:主键:值唯一、不可为空外键:维护两表关联关系唯一:字段值唯一,允许空值非空:字段必须填写,禁止空值2.5.4数据完整性约束1.非空约束非空约束是一种最容易理解的约束,即指定该字段的值是否允许取空值,一般以列级约束的形式定义非空约束。【例2-7】使用SQL语句创建区域表T_AREA,其中区域编号AREA_ID和区域名称AREA_NAME都不能为空。2.5.4数据完整性约束2.主键约束主键约束保障记录唯一,单表仅一个主键且字段非空,满足实体完整性,支持列级、表级两种定义方式。【例2-8】使用SQL语句创建社区街道表T_COMMUNITY,其中COMMUNITY_ID为主键,数据表信息如附录A中的表A-2所示。方式1:使用列级约束方式。2.5.4数据完整性约束方式2:使用表级约束方式。多字段复合主键,仅能采用表级约束定义。主键约束生效后限制:1)新增数据,主键不能为空2)新增重复主键,插入失败3)修改主键为空/重复值,更新失败2.5.4数据完整性约束3.外键约束外键约束主要用于维护两个表之间的一致性即外键的值必须引用另一张表的主键的值。若将外键所在的表称为子表,而将引用主键的表称为父表,则子表中外键必须引用父表中主键的值或取空值。例如,社区表COMMUNITY中的所属区域编码AREA_ID应与区域表T_AREA中的主键班级编码AREA_ID相关,该列是COMMUNITY的外键,如图2-39所示。创建外键约束可以使用列级约束和表级约束两种形式进行。图2-392.5.4数据完整性约束【例2-9】EPDMS库创建区域表T_AREA、社区表T_COMMUNITY,两表互相引用主键,分别演示列级、表级外键:2.5.4数据完整性约束建立了外键约束以后,对子表和父表的操作有如下约束。一、父子表操作限制1.子表:新增/修改外键,取值必须是父表已有主键。2.父表更新级联更新:父表主键更新,子表关联外键同步变更;无级联更新:子表有关联数据时,禁止修改父表主键。3.父表删除级联删除:删父表记录,同步删除子表关联数据;无级联删除:子表有关联数据时,禁止删除父表记录。二、创建外键三大前提1.建表顺序:先父表、后子表;2.父表关联字段为主键/唯一约束;3.父子关联字段数据类型、长度完全一致。2.5.4数据完整性约束4.唯一性约束唯一性约束是用于保证某字段数据的唯一性。与主键约束一样,设置了唯一性约束的字段也可被外键引用。但唯一性约束与主键约束也有区别:唯一性约束允许该列存在空值,而主键不允许空值;在一个表上可定义多个唯一性约束,但只能定义一个主键约束。5.检查约束检查约束通过使用逻辑表达式来限制列上可以接受的值,无论是插入数据还是更新数据,都要满足检查约束的条件才能通过。检查约束可以用列级约束和表级约束两种形式进行定义。6.默认约束默认约束是指在记录建立后用户没有输入字段值时,该字段值是由系统自动提供。2.5.4数据完整性约束【例2-10】在EPDMS库创建调度任务表T_SCHEDULETASK,约束要求:任务名唯一、任务状态仅0/1、优先级默认“一般”,建表SQL如下:CREATETABLEEPDMS.T_SCHEDULETASK(TASK_IDVARCHAR(36)NOTNULLPRIMARYKEY,TASK_NAMEVARCHAR(1OO)NOTNULLUnique,TASK_TYPEVARCHAR(20),TASK_PRIORITYVARCHAR(20)default('一般'),START_TIMEDATETIME,END_TIMEDATETIME,TASK_STATUSTINYINTCheck(TASK_STATUS=OorTASK_STATUS=1));建表有两种方式:DM管理工具可视化操作,上手简单;SQL语句灵活高效,适合复杂约束。本任务在电力调度库EPDMS内批量建表,外键约束留至下一任务统一配置,保障数据完整。1.技术分析[任务实施]
(1)使用DM管理工具创建数据表步骤1:打开DM管理工具,使用SYSDBA等DBA账号连接数据库,进入EPDMS模式下的「表」节点。步骤2:右键「表」节点,点击新建表,弹出配置窗口。步骤3:在对话框左侧选择“约束”和“外键”等项,根据业务逻辑分别进行数据完整性设置。2.实现步骤(2)使用SQL语句创建数据表步骤1:使用SQL语句选择EPDMS模式。步骤2:使用SQL语句创建T_AREA表。步骤3:使用SQL语句创建T_COMMUNITY表。步骤4:使用SQL语句创建T_ADMININFO表。步骤5:使用SQL语句创建T_USERINFO表。步骤6:使用SQL语句创建T_CONSUME表。步骤7:使用SQL语句创建T_SUPPLY表。步骤8:使用SQL语句创建T_SUPPLYSTATUS表。步骤9:使用SQL语句创建T_ELECTRICITYPRICE表。步骤1O:使用SQL语句创建T_SCHEDULETASK表。步骤11:使用SQL语句创建T_ASSIGNMENT表。评价指标评价标准分值得分掌握数据表的设计能够理正确设计数据表字段及数据类型等50理解数据库语句语法能够正确使用SQL语句20掌握数据完整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国区块链在供应链金融中的应用场景与风险控制报告
- 2026中国康复机器人家庭租赁模式可行性及政策支持研究
- 2026年甘肃警察学院引进高层次人才(博士研究生)模拟试卷及参考答案详解(培优A卷)
- 2026中国无线充电技术商业化应用场景与市场培育路径分析
- 2026食品加工行业食品保鲜技术市场供需分析行业投资评估规划研究报告
- 2026农业咨询面试题及答案
- 合并同类项(第1课时)导学案-青岛版初中数学七年级
- 新译林版八年级英语上册 Unit 1 Friendships Lesson 2 深度教学设计
- 初中英语九年级Unit12第六课时(Section B 3aSelf Check)写作与单元巩固教学设计
- 2026天津市北辰区中医医院第三批合同制人员招聘2人笔试备考题库及答案详解
- 2026年常德职业技术学院单招职业技能测试题库附答案详解(综合卷)
- 2025年度妇产科实习同学出科考试题及答案
- 企业用工管理培训课件
- 灰渣处置安全培训课件
- 2025救心丸治疗冠心病临床应用专家共识
- 2025中国胸痛中心诊疗指南
- LD5506EN气体灭火控制器安装使用说明书
- 两单两卡奖惩管理办法
- T-CWAN 0104-2025 奥氏体不锈钢管道焊接接头质量色差评价方法
- 一体化污水处理设备施工方案(3篇)
- 脑梗死的中西医结合治疗
评论
0/150
提交评论