建库建表知识点(下列举例)、
建库:
CREATE DATABASE EduBase2017
ON
(NAME='Datefile_1'
,FILENAME='D:\EduBase2017\DataFile_1.mdf')
LOG ON
(NAME='LogFile_1'
,FILENAME='D:\EduBase2017\LogFile_1.ldf');
建库的误点:
建库的时候一定要先在想要建库和建表的地方先建立一个文件,而且名称一定要跟建库上写的一致,数据库是不会自动文件的。CREATE DATABASE EduBase2017上后面不要加上‘;’不然会代表结束,无法建立。
2.如果你建库后显示已存在,那说明之前已经建立过同样名称的数据库了,这时候需要先删除数据库,语句为
DROP DATABASE EduBase2017;
3.为了防止已存在,我们可以写前提语句
IF DB_ID('EduBase2017') IS NOT NULL
DROP DATABASE EduBase2017;
CREATE DATABASE EduBase2017;
建表
USE EduBase2017 ;
IF OBJECT_ID('tb_Course')IS NOT NULL
DROP TABLE tb_Course;
GO
CREATE TABLE tb_Course
(No
CHAR(4)
NOT NULL
CONSTRAINT pk_Course_No
PRIMARY KEY (No)
CONSTRAINT ck_Course_No
CHECK(NO LIKE'[a-z][0-9][0-9][0-9]')
,Name
VARCHAR(50)
NOT NULL
,CourseSX
VARCHAR(50)
NULL
,CourseBefore
VARCHAR(50)
NOT NULL
,CourseXF
FLOAT(4)
NOT NULL
,CourseXDKC
VARCHAR(20)
,CourseKSKC
VARCHAR(20)
NOT NULL);
建表知识点和误点
首先建表命名占很大一部分,命名要清晰明了因为一个系统需要很多个表,每个表又有很多信息,所以为了之后使用的方便,总结提出以下几点建议:数据库命名规范
实体(表)的命名 :
表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名,其余依次类推)
属性(列)的命名
采用有意义的列名,表内的列要针对键采用一整套设计规则。每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。如果键是数字类型,你可以用_NO 作为后缀;如果是字符类型则可以采用_CODE 后缀。对列名应该采用标准的前缀和后缀。
除了命名,还有一点非常重要,就是数据类型的定义。
以下是部分数据类型的定义
建表的时候,一定要写对数据类型,并定义好长度。可以过长,但是不建议过长,因为过长的话会占据内存,造成空间浪费。过短的话系统则无法运行
如果要把一张表中的数据应用到另一张表上,那一定要记住与原表的数据相对应,不然系统就会提示你系统错误。如果是多个表的话,建议建成多表的形式,防止到时候运行时花费的时间过长,占据的CPU过大。
5表中应该是体现数据字典的内容,如空值,约束性条件等