数据库命名规范_第1页
数据库命名规范_第2页
数据库命名规范_第3页
数据库命名规范_第4页
数据库命名规范_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1 数据库设计数据库设计 MySqlMySql 数据库对象命名规范数据库对象命名规范 DatabaseDatabase ObjectsObjects NamingNaming GuidelinesGuidelines V1 0V1 0 2008 06 282008 06 28 2 1 相关的设计规范 3 1 1 采用有意义的字段名 3 1 2 遵守 3NF 标准 3NF 规定 3 1 3 小心保留词 3 1 4 保持字段名和类型的一致性 3 2 基本命名规则 3 2 1 数据库 Database 的命名 4 2 2 表 Table 的定义 4 2 3 字段命名规范 5 2 3 1 前缀数据类型举例 5 2 3 2 数据类型 6 2 4 触发器命名规范 11 2 5 存储过程命名规范 11 2 6 存储过程中的参数及变量命名规范 12 2 7 用户定义函数命名规范 12 2 8 命名中其他注意事项 12 2 9 SQL 语句的编写规范 12 2 10 Rule 12 2 11 主键 12 2 12 外键 12 2 13 索引 12 2 14 Default 13 2 15 Check 约束 13 2 16 unique 约束 13 3 编程结构和描述 13 3 1 注释 13 3 2 函数注释 13 3 3 条件执行语句 if else 14 3 4 重复执行 while 和跳转语句 goto 14 3 5 书写格式 14 3 6 字体 15 4 触发器编程规范 15 4 1 范例 15 3 1 相关的设计规范相关的设计规范 1 1 采用有意义的字段名采用有意义的字段名 尽可能地把字段描述的清楚些 当然 也别做过头了 比如 CustomerShippingAddressStreetLine1 虽然很富有说明性 但没人愿意键入这么长的名字 具体尺度就在你的把握中 每个单词的首个字母要求用大写 不要用下划线来连接每个单 词 1 2 遵守遵守 3NF 标准标准 3NF 规定 规定 A 表内的每一个值都只能被表达一次 B 表内的每一行都应该被唯一的标识 有唯一键 C 表内不应该存储依赖于其他键的非键信息 1 3 小心保留词小心保留词 要保证你的字段名没有和保留词 数据库系统或者常用访问方法冲突 比如 写的一个 ODBC 连接程序里有个表 其中就用了 DESC 作为说明字段名 后果可想而知 DESC 是 DESCENDING 缩写后的保留词 表里的一个 SELECT 语句倒是能用 但我得到的却是一大堆 毫无用处的信息 1 4 保持字段名和类型的一致性保持字段名和类型的一致性 在命名字段并为其指定数据类型的时候一定要保证一致性 假如字段在某个表中叫做 AgreeMentNumber 你就别在另一个表里把名字改成 ref1 假如数据类型在一个表里 是整数 那在另一个表里可就别变成字符型了 记住 你干完自己的活了 其他人还要用你 的数据库呢 2 基本命名规则基本命名规则 在这里 我提出如下数据库设计的建议 1 如果要写代码来确保表中的行都是唯一的 就为表添加一个主键 2 如果要写代码来确保表中的一个单独的列是唯一的 就为表添加一个约束 3 如果要写代码确定表中的列的取值只能属于某个范围 就添加一个 Check 约束 4 如果要写代码来连接 父 子 表 就创建一个关系 4 5 如果要写代码来维护 一旦父表中的一行发生变化 连带变更子表中的相关行 就 启用级联删除和更新 6 如果要调用大量的 Join 来进行一个查询 就创建一个视图 7 如果要逐条的写数据库操作的语句来完成一个业务规则 就使用存储过程 NOTE 这里我没有提到触发器 实践证明触发器会使数据库迅速变得过于复杂 更重要的是 触发器难以调试 如果不小心建了个连环触发器 就更让人头疼了 所以我更倾向于根本就 不使用触发器 表 1 基本数据库对象命名 数据库对象 前缀 举例 表 Table tbtbStudent 字段 Column varvarTitle 默认值 default df df default 视图 View vwvwActivity 存储过程 Stored procedure pr prDelOrder 触发器 Trigger tr trOrder D 索引 Index ix ix CustomerID 主键 Primary key pk pk Admin 外键 Foreign key fk fk Order OrderType Check约束 Check Constraint ck ck TableColumn Unique约束 uq uq TableColumn 用户定义数据类型 User defined data type udt udtPhone 用户定义函数 User defined function fn fnDueDate 2 1 数据库数据库 Database 的命名的命名 数据库名称 数据库内容标识 首字大写 粮食局项目数据库命名规定 DB 单位编码 单位编码由单位编码表描述 2 2 表表 Table 的定义的定义 命名应尽量反映存储的数据内容 表名前缀 以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识 表名称 表名前缀 tb 表内容标识 首字大写 如 Employee 相关联的一系的表以 tb 作为前缀 即有表名 tbHistory tbContact tbBusiness 粮食局项目数据表命名规定 tb 前缀 表名前两个字的汉语全拼 首字大写 如果遇到前两 个字重复的第三个字也全拼 后面的所有字取生母 首字大写 多对多关系中连接表的命名规定 将两个表的表名合并 如果表名比较长可做简化 Relation 后缀 5 2 3 字段命名规范字段命名规范 字段是数据库中的用途最广泛的 它的类型非常多 所以必须加类型前缀来标示它的类 型 字段名称 字段类型前缀 全小写 字段内容标识 首字大写 2 3 1 前缀数据类型举例前缀数据类型举例 前缀数据类型举例 bigInt Binary bitBit chrChar dtmDatetime decDecimal fltFloat imgImage intInt mnyMoney Nchar ntxNtext numNumeric nvrNvarchar Nvarchar MAX relReal SmallDatatime SmallInt SmallMoney Sql variant txtText Timestamp tinTinyInt Uniqueidentifier Varbinary 50 Varbinary MAX varVarchar 50 Varchar MAX Xml 以下为 SQL SERVER7 0 以上版本的字段类型说明 1 bit 0 或 1 的整型数字 2 int 从 2 31 2 147 483 648 到 2 31 2 147 483 647 的整型数字 3 smallint 从 2 15 32 768 到 2 15 32 767 的整型数字 4 tinyint 从 0 到 255 的整型数字 6 5 decimal 从 10 38 到 10 38 1 的定精度与有效位数的数字 6 numeric decimal 的同义词 7 money 从 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 的货币数据 最小货币单位千分之十 9 float 从 1 79E 308 到 1 79E 308 可变精度的数字 10 real 从 3 04E 38 到 3 04E 38 可变精度的数字 11 datetime 从 1753 年 1 月 1 日到 9999 年 12 日 31 的日期和时间数据 最小时间单位 为百分之三秒或 3 33 毫秒 12 smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据 最小时间 单位为分钟 13 timestamp 时间戳 一个数据库宽度的唯一数字 14 uniqueidentifier 全球唯一标识符 GUID 15 char 定长非 Unicode 的字符型数据 最大长度为 8000 16 varchar 变长非 Unicode 的字符型数据 最大长度为 8000 17 text 变长非 Unicode 的字符型数据 最大长度为 2 31 1 2G 18 nchar 定长 Unicode 的字符型数据 最大长度为 8000 19 nvarchar 变长 Unicode 的字符型数据 最大长度为 8000 20 ntext 变长 Unicode 的字符型数据 最大长度为 2 31 1 2G 21 binary 定长二进制数据 最大长度为 8000 22 varbinary 变长二进制数据 最大长度为 8000 23 image 变长二进制数据 最大长度为 2 31 1 2G 2 3 2 数据类型数据类型 整数数据类型 INT 或 INTEGER SMALLINT TINYINT BIGINT 浮点数据类型 REAL FLOAT DECIMAL NUMERIC 二进制数据类型 BINARY VARBINARY 逻辑数据类型 BIT 字符数据类型 CHAR NCHAR VARCHAR NVARCHAR 文本和图形数据类型 TEXT NTEXT IMAGE 日期和时间数据类型 DATETIME SMALLDATETIME 货币数据类型 MONEY SMALLMONEY 特定数据类型 TIMESTAMP UNIQUEIDENTIFIER 用户自定义数据类型 SYSNAME 新数据类型 SQL VARIANT TABLE 其中 BIGINT SQL VARIANT 和 TABLE 是 SQL Server 2000 中新增加的 3 种数据类型下 面分类讲述各种数据类型 2 3 2 1 整数数据类型 整数数据类型是最常用的数据类型之一 1 INT INTEGER INT 或 INTEGER 数据类型存储从 231 2 147 483 648 到 231 1 2 147 483 647 之间的所 有正负整数每个 INT 类型的数据按 4 个字节存储其中 1 位表示整数值的正负号其它 31 位 7 表示整数值的长度和大小 2 SMALLINT SMALLINT 数据类型存储从 215 32 768 到 215 1 32 767 之间的所有正负整数每个 MALLINT 类型的数据占用 2 个字节的存储空间其中 1 位表示整数值的正负号其它 15 位表 示整数值的长度和大小 3 TINYINT TINYINT 数据类型存储从 0 到 255 之间的所有正整数每个 TINYINT 类型的数据占用 1 个字 节的存储空间 4 BIGINT BIGINT 数据类型存储从 2 63 9 223 372 036 854 775 807 到 2 63 1 9 223 372 036 854 775 807 之间的所有正负整数每个 BIGINT 类型的数据占用 8 个字节的存储空间 2 3 2 2 浮点数据类型 浮点数据类型用于存储十进制小数浮点数值的数据在 SQL Server 中采用上舍入 Round up 或称为只入不舍方式进行存储所谓上舍入是指当且仅当要舍入的数是一个非零数时对其保留 数字部分的最低有效位上的数值加 1 并进行必要的进位若一个数是上舍入数其绝对值不会 减少如对 3 14159265358979 分别进行 2 位和 12 位舍入结果为 3 15 和 3 141592653590 1 REAL 数据类型 REAL 数据类型可精确到第 7 位小数其范围为从 3 40E 38 到 3 40E 38 每个 REAL 类型的 数据占用 4 个字节的存储空间 2 FLOAT FLOAT 数据类型可精确到第 15 位小数其范围为从 1 79E 308 到 1 79E 308 每个 FLOAT 类型的数据占用 8 个字节的存储空间 FLOAT 数据类型可写为 FLOAT n 的形式 n 指定 FLOAT 数据的精度 n 为 1 到 15 之间的整 数值当 n 取 1 到 7 时实际上是定义了一个 REAL 类型的数据系统用 4 个字节存储它当 n 取 8 到 15 时系统认为其是 FLOAT 类型用 8 个字节存储它 3 DECIMAL DECIMAL 数据类型可以提供小数所需要的实际存储空间但也有一定的限制您可以用 2 到 17 个字节来存储从 1038 1 到 1038 1 之间的数值可将其写为 DECIMAL p s 的形式 p 和 s 确定了精确的比例和数位其中 p 表示可供存储的值的总位数不包括小数点缺省值为 18 s 表 示小数点后的位数缺省值为 0 例如 decimal 15 5 表示共有 15 位数其中整数 10 位小数 5 位表 4 3 列出了各精确度所需的字节数之间的关系表 DECIMAL 数据类型的精度与字节数 精度 字节数 1 2 2 3 4 3 5 7 4 8 9 5 10 12 6 13 14 7 15 16 8 17 19 9 20 21 10 22 24 11 25 26 12 8 27 28 13 29 31 14 32 33 15 34 36 16 37 38 17 4 NUMERIC NUMERIC 数据类型与 DECIMAL 数据类型完全相同 SQL Server 为了和前端开发工具配合其所支持的数据精度默认最大为 28 位但可以通过 使用命令来执行 sqlservr exe 程序以启动 SQL Server 可改变默认精度命令语法如下 SQLSERVR D master device path P precisim level 例 4 4 用最大数据精度 38 启动 SQL Server sqlservr d c Mssql2000 data master dat p38 在使用了 P 参数后如果其后没有指定具体的精度数值则默认为 38 位 2 3 2 3 二进制数据类型 1 BINARY BINARY 数据类型用于存储二进制数据其定义形式为 BINARY n n 表示数据的长度取值为 1 到 8000 在使用时必须指定 BINARY 类型数据的大小至少应为 1 个字节 BINARY 类型数据占 用 n 4 个字节的存储空间在输入数据时必须在数据前加上字符 0X 作为二进制标识如要输入 abc 则应输入 0 xabc 若输入的数据过长将会截掉其超出部分若输入的数据位数为奇数则会 在起始符号 0X 后添加一个 0 如上述的 0 xabc 会被系统自动变为 0 x0abc 2 VARBINARY VARBINARY 数据类型的定义形式为 VARBINARY n 它与 BINARY 类型相似 n 的取值也为 1 到 8000 若输入的数据过长将会截掉其超出部分不同的是 VARBINARY 数据类型具有变动长度的 特性因为 VARBINARY 数据类型的存储长度为实际数值长度 4 个字节当 BINARY 数据类型允许 NULL 值时将被视为 VARBINARY 数据类型一般情况下由于 BINARY 数据类型长度固定因此它 比 VARBINARY 类型的处理速度快 2 3 2 4 逻辑数据类型 BIT BIT 数据类型占用 1 个字节的存储空间其值为 0 或 1 如果输入 0 或 1 以外的值将 被视为 1 BIT 类型不能定义为 NULL 值所谓 NULL 值是指空值或无意义的值 2 3 2 5 字符数据类型 字符数据类型是使用最多的数据类型它可以用来存储各种字母数字符号特殊符号一般情况下 使用字符类型数据时须在其前后加上单引号 或双引号 1 CHAR CHAR 数据类型的定义形式为 CHAR n 以 CHAR 类型存储的每个字符和符号占一个字节的 存储空间 n 表示所有字符所占的存储空间 n 的取值为 1 到 8000 即可容纳 8000 个 ANSI 字 符若不指定 n 值则系统默认值为 1 若输入数据的字符数小于 n 则系统自动在其后添加空格 来填满设定好的空间若输入的数据过长将会截掉其超出部分 2 NCHAR NCHAR 数据类型的定义形式为 NCHAR n 它与 CHAR 类型相似不同的是 NCHAR 数据类型 n 的取值为 1 到 4000 因为 NCHAR 类型采用 UNICODE 标准字符集 CharacterSet UNICODE 标 准规定每个字符占用两个字节的存储空间所以它比非 UNICODE 标准的数据类型多占用一倍 的存储空间使用 UNICODE 标准的好处是因其使用两个字节做存储单位其一个存储单位的容 9 纳量就大大增加了可以将全世界的语言文字都囊括在内在一个数据列中就可以同时出现中文 英文法文德文等而不会出现编码冲突 3 VARCHAR VARCHAR 数据类型的定义形式为 VARCHAR n 它与 CHAR 类型相似 n 的取值也为 1 到 8000 若输入的数据过长将会截掉其超出部分不同的是 VARCHAR 数据类型具有变动长度的特 性因为 VARCHAR 数据类型的存储长度为实际数值长度若输入数据的字符数小于 n 则系统不 会在其后添加空格来填满设定好的空间 一般情况下由于 CHAR 数据类型长度固定因此它比 VARCHAR 类型的处理速度快 4 NVARCHAR NVARCHAR 数据类型的定义形式为 NVARCHAR n 它与 VARCHAR 类型相似 不同的是 NVARCHAR 数据类型采用 UNICODE 标准字符集 Character Set n 的取值为 1 到 4000 2 3 2 6 文本和图形数据类型 这类数据类型用于存储大量的字符或二进制数据 1 TEXT TEXT 数据类型用于存储大量文本数据其容量理论上为 1 到 231 1 2 147 483 647 个字节在 实际应用时需要视硬盘的存储空间而定 SQL Server 2000 以前的版本中数据库中一个 TEXT 对象存储的实际上是一个指针 它指向一个个以 8KB 8192 个字节为单位的数据页 Data Page 这些数据页是动态增加并被逻辑链接起来的在 SQL Server 2000 中则将 TEXT 和 IMAGE 类型的数据直接存放到表的数据行中而不是存放到不同的数据页中这就减少了用 于存储 TEXT 和 IMA GE 类型的空间并相应减少了磁盘处理这类数据的 I O 数量 2 NTEXT NTEXT 数据类型与 TEXT 类型相似不同的是 NTEXT 类型采用 UNICODE 标准字符集 Character Set 因此其理论容量为 230 1 1 073 741 823 个字节 3 IMAGE IMAGE 数据类型用于存储大量的二进制数据 Binary Data 其理论容量为 231 1 2 147 483 647 个字节其存储数据的模式与 TEXT 数据类型相同它通常用来存储图形等 OLE Object Linking and Embedding 对象连接和嵌入对象在输入数据时同 BINARY 数据类型一样必须在 数据前加上字符 0X 作为二进制标识 2 3 2 7 日期和时间数据类型 1 DATETIME DATETIME 数据类型用于存储日期和时间的结合体它可以存储从公元 1753 年 1 月 1 日零时 起到公元 9999 年 12 月 31 日 23 时 59 分 59 秒之间的所有日期和时间其精确度可达三百 分之一秒即 3 33 毫秒 DATETIME 数据类型所占用的存储空间为 8 个字节其中前 4 个字节用 于存储 1900 年 1 月 1 日以前或以后的天数数值分正负正数表示在此日期之后的日期负数 表示在此日期之前的日期后 4 个字节用于存储从此日零时起所指定的时间经过的毫秒数如 果在输入数据时省略了时间部分则系统将 12 00 00 000AM 作为时间缺省值如果省略了日期 部分则系统将 1900 年 1 月 1 日作为日期缺省值 2 SMALLDATETIME SMALLDATETIME 数据类型与 DATETIME 数据类型相似但其日期时间范围较小 为从 1900 年 1 月 1 日到 2079 年 6 月 6 日精度较低只能精确到分钟其分钟个位上为根据秒数四舍五入 的值即以 30 秒为界四舍五入如 DATETIME 时间为 14 38 30 283 时 SMALLDATETIME 认为是 14 39 00 SMALLDATETIME 数据类型使用 4 个字节存储数据其中前 2 个字节存储从基础日期 10 1900 年 1 月 1 日以来的天数后两个字节存储 此日零时起所指定的时间经过的分钟数 下 面介绍日期和时间的输入格式 日期输入格式 日期的输入格式很多大致可分为三类 第一类 英文 数字格式 此类格式中月份可用英文全名或缩写且不区分大小写年和月日之间可不用逗号年份可为 4 位或 2 位当其为两位时若值小于 50 则视为 20 xx 年若大于或等于 50 则视为 19xx 年若日 部分省略则视为当月的 1 号以下格式均为正确的日期格式 June 21 2000 Oct 1 1999 January 2000 2000 February 2000 May 1 2000 1 Sep 99 June July 00 第二类 数字 分隔符格式 允许把斜杠 连接符 和小数点 作为用数字表示的年月日之间的分隔符如 YMD 2000 6 22 2000 6 22 2000 6 22 MDY 3 5 2000 3 5 2000 3 5 2000 DMY 31 12 1999 31 12 1999 31 12 2000 第三类 纯数字格式 纯数字格式是以连续的 4 位 6 位或 8 位数字来表示日期如果输入的是 6 位或 8 位数字系 统将按年月日来识别即 YMD 格式并且月和日都是用两位数字来表示 如果输入的数字是 4 位数系统认为这 4 位数代表年份其月份和日缺省为此年度的 1 月 1 日如 20000601 2000 年 6 月 1 日 991212 1999 年 12 月 12 日 1998 1998 年 时间输入格式 在输入时间时必须按小时分钟秒毫秒的顺序来输入在其间用冒号隔开但可将毫秒部分用小数 点 分隔其后第一位数字代表十分之一秒第二位数字代表百分之一秒第三位数字代表千分之 一秒当使用 12 小时制时用 AM am 和 PM pm 分别指定时间是午前或午后若不指定系统默认 为 AM AM 与 PM 均不区分大小写如 3 5 7 2pm 下午 3 时 5 分 7 秒 200 毫秒 10 23 5 123Am 上午 10 时 23 分 5 秒 123 毫秒 可以使用 SET DATEFORMAT 命令来设定系统默认的日期 时间格式 2 3 2 8 货币数据类型 货币数据类型用于存储货币值在使用货币数据类型时应在数据前加上货币符号 系统才能辨 识其为哪国的货币如果不加货币符号则默认为各货币符号如图 4 2 所示 1 MONEY MONEY 数据类型的数据是一个有 4 位小数的 DECIMAL 值其取值从 263 922 337 203 685 477 5808 到 263 1 922 337 203 685 477 5807 数据精度为万分之一货币单位 MONEY 数据类型使用 8 个字节存储 2 SMALLMONEY SMALLMONEY 数据类型类似于 MONEY 类型但其存储的货币值范围比 MONEY 数据类型小其取值 从 214 748 3648 到 214 748 3647 存储空间为 4 个字节 2 3 2 9 特定数据类型 SQL Server 中包含了一些用于数据存储的特殊数据类型 11 1 TIMESTAMP TIMESTAMP 数据类型提供数据库范围内的惟一值此类型相当于 BINARY 8 或图 4 2 货币符号 一览 VARBINARY 8 但当它所定义的列在更新或插入数据行时此列的值会被自动更新 一个计数值 将自动地添加到此 TIMESTAMP 数据列中每个数据库表中只能有一个 TIMESTAMP 数据列如果 建立一个名为 TIMESTAMP 的列则该列的类型将被自动设为 TIMESTAMP 数据类型 2 UNIQUEIDENTIFIER UNIQUEIDENTIFIER 数据类型存储一个 16 位的二进制数字此数字称为 GUID Globally Unique Identifier 即全球惟一鉴别号此数字由 SQL Server 的 NEWID 函数产生的全球惟一 的编码 在全球各地的计算机经由此函数产生的数字不会相同 2 3 2 10 用户自定义数据类型 SYSNAME SYSNAME 数据类型是系统提供给用户的便于用户自定义数据类型 它被定义为 NVARCHAR 128 即它可存储 128 个 UNICODE 字符或 256 个一般字符 其具体使用方法请参 见第 7 章管理数据库表中的自定义数据类型章节 2 3 2 11 新数据类型 SQL Server 2000 中增加了 3 种数据类型 BIGINT SQL VARIANT 和 TABLE 其中 BIGINT 数据 类型已在整数类型中介绍下面介绍其余两种 1 SQL VARIANT SQL VARIANT 数据类型可以存储除文本图形数据 TEXT NTEXT IMAGE 和 TIMESTAMP 类型数据 外的其它任何合法的 SQL Server 数据此数据类型大大方便了 SQL Server 的开发工作 2 TABLE TABLE 数据类型用于存储对表或视图处理后的结果集这一新类型使得变量可以存储一个表从 而使函数或过程返回查询结果更加方便快捷 2 4 视图名 视图的名称 vw 视图内容标识 视图的命名参照表名的命名规范 如 vwUserPerm 2 4 触发器命名规范触发器命名规范 由三部分构成 1 前缀 tr 描述了数据库对象的类型 2 基本部分 描述触发器所加的表 3 后缀 I U D 显示了修改语句 Insert Update 及 Delete 触发名 tr 相应的表名 后缀 如 trClient I trClient D 2 5 存储过程命名规范存储过程命名规范 系统存储过程的前缀使用 SP 而用户自定义的存储过程化前缀使用 小写 pr 过程名称 过程名称使用 名词放前面 动词放后面 例如 prProductDelById 12 2 6 存储过程中的参数及变量命名规范存储过程中的参数及变量命名规范 参数的命名应与字段命名一致 例如 intEmployeeId 2 7 用户定义函数命名规范用户定义函数命名规范 函数命名前缀为 fn 函数名 首字母大写 名词在前 动词在后 2 8 命名中其他注意事项命名中其他注意事项 禁止使用中文命名 命名都不得超过 30 个字符的系统限制 变量名的长度限制为 29 不包括标识字符 命名都采用英文字符 每个单词的首个字母要大写 2 9 SQL 语句的编写规范语句的编写规范 数据库中存储过程和触发器中涉及大量的 SQL 语句 对 SQL 语句的编写规范如下 关键字大写 在 SQL 语句的编写中 凡是 SQL 语句的关键字一律大写 如 SELECT ORDER BY GROUP BY FROM WHERE UPDATE INSERT INTO SET BEGIN END 2 10 Rule ru Rule 标识 2 11 主键主键 pk 表名 主键标识 2 12 外键外键 fk 表名 主表名 外键标识 2 13 索引索引 ix 字段标识 13 2 14 Default df Default 标识 2 15 Check 约束约束 Ck TableColumn 2 16 unique 约束约束 uq TableColumn 3 编程结构和描述编程结构和描述 SQL SERVER 系统中 一个批处理是从客户传给服务器的一个完整的包 可以包含若干条 SQL 语句 批处理中的语句是作为一组去进行语法分析 编译和执行的 触发器 存储过程等数 据对象则是将批处理永久化的方法 3 1 注释注释 注释可以包含在批处理中 在触发器 存储过程中包含描述性注释将大大增加文本的可读性 和可维护性 本规范建议 1 注释以英文为主 实际应用中 发现以中文注释的 SQL 语句版本在英文环境中不可用 为避免后续版本执行过 程中发生某些异常错误 建议使用英文注释 2 注释尽可能详细 全面 创建每一数据对象前 应具体描述该对象的功能和用途 传入参数的含义应该有所说明 如果取值范围确定 也应该一并说明 取值有特定含义的变 量 如 boolean 类型变量 应给出每个值的含义 3 注释语法包含两种情况 单行注释 多行注释 单行注释 注释前有两个连字符 最后以行尾序列 CR LF 结束 一般 对变量 条 件子句可以采用该类注释 多行注释 符号 和 之间的内容为注释内容 对某项完整的操作建议使用该类注释 4 注释简洁 同时应描述清晰 3 2 函数注释 函数注释 编写函数文本 如触发器 存储过程以及其他数据对象 时 必须为每个函数增加适当注释 该注释以多行注释为主 主要结构如下 14 存储过程 读取用户所分配的操作模块及具体权限 编 制 者 saiko 修 改 人 编制日期 2004 11 27 输入参数 共有 2 个参数 cUserNo 用户编号 cUserPassword 验证密码 输出参数 eResult 1 成功 销售 0001 2 失败 Null 3 与 eResult 无关 输出是 记录集 调用例子 declare eResult varchar 50 exec uChkUserPerm 0755 123456 销 售 说 明 CREATE PROCEDURE spoxxx 3 3 条件执行语句条件执行语句 if else 条件语句块 statenemt block 以 begin end 为边界 仅在 if 子句的条件为真时才被执 行 为提高代码的可读性 建议嵌套不多于 5 层 还有 当嵌套层次太多时 应该考虑是否 可以使用 case 语句 3 4 重复执行重复执行 while 和跳转语句和跳转语句 goto 需要多次执行的语句 可以使用 while 结构 其中 控制 while 循环的条件在任何处理开始 之前需要先执行一次 循环体中的保留字 break 无条件的退出 while 循环 然后继续

温馨提示

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

评论

0/150

提交评论