博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL语句(七)实体完整性
阅读量:4075 次
发布时间:2019-05-25

本文共 2668 字,大约阅读时间需要 8 分钟。

1.实体完整性

       简单的说,实体完整性就是数据库表的主码唯一且不为空。主码可以是关系的一个属性(即数据库表的一列),也可以是关系的属性组(即表格的多个列),主码可以唯一的标识元组(即数据库表的一行)。

2.实例

1. 创建表时定义列级实体完整性①定义供应商表的实体完整性CREATE TABLE supp(/*供应商基本表*/   suppkey INTEGER CONSTRAINT supp_1 PRIMARY KEY, /*供应商编号*/   name CHAR(50),                          /*供应商名称*/   address VARCHAR(80),                    /*供应商地址*/   nation INTEGER REFERENCES nation(nationkey),/*国家编号*/   phone CHAR(30),                          /*供应商电话*/   acctbal REAl,   comment VARCHAR(101)                     /*备注*/);②定义地区表的实体完整性CREATE TABLE regi(/*地区表*/  regionkey INTEGER CONSTRAINT regi_1 PRIMARY KEY,/*地区编号*/  name CHAR(25),                           /*地区名称*/  comment CHAR(152)                        /*备注*/);2. 创建表时定义表级实体完整性①定义供应商表的实体完整性CREATE TABLE supp2(/*供应商基本表*/   suppkey INTEGER ,                        /*供应商编号*/   name CHAR(50),                          /*供应商名称*/   address VARCHAR(80),                    /*供应商地址*/   nation INTEGER REFERENCES nation(nationkey),/*国家编号*/   phone CHAR(30),                          /*供应商电话*/   acctbal REAl,   comment VARCHAR(101) ,                    /*备注*/   CONSTRAINT supp_2 PRIMARY KEY(suppkey));②定义地区表的实体完整性CREATE TABLE regi2(/*地区表*/  regionkey INTEGER ,                       /*地区编号*/  name CHAR(25),                           /*地区名称*/  comment CHAR(152),                       /*备注*/  CONSTRAINT regi_2 PRIMARY KEY(regionkey));3.定义表后定义实体完整性CREATE TABLE part2(--先定义零件基本表  partkey INTEGER NOT NULL,                /*零件编号*/  name VARCHAR(100),                       /*零件名称*/  mfgr CHAR(50),                           /*制造厂*/  brand VARCHAR(50),                       /*品牌*/  type VARCHAR(25),                        /*零件类型*/  size INTEGER,                            /*尺寸*/  container CHAR(10),                      /*包装*/  retailprice REAL,                        /*零售价格*/  comment VARCHAR (23)                     /*备注*/);ALTER TABLE part2--再修改零件基本表,增加实体完整性ADD CONSTRAINT partkey_1 PRIMARY KEY(partkey);4.主码由多个属性组成时,定义实体完整性CREATE TABLE partsupp2(/*零件供应联系表*/  partkey INTEGER ,/*零件编号*/  suppkey INTEGER ,/*供应商编号*/  availqty INTEGER,/*可用数量*/  supplycost REAL,/*供应价格*/  comment VARCHAR(199),/*备注*/  PRIMARY KEY(partkey,suppkey)/*定义主码*/  );5.有多个候选码时定义实体完整性CREATE TABLE nation2(/*国家表*/  nationkey INTEGER  ,                           /*国家编号*/  name CHAR(25) UNIQUE,                           /*国家名称*/  regionkey INTEGER REFERENCES region(regionkey),/*地区编号*/  comment VARCHAR(152),                     /*备注*/  CONSTRAINT nationkey_2 PRIMARY KEY(nationkey));6.删除实体完整性ALTER TABLE part2DROP CONSTRAINT partkey_1;7.增加记录,验证实体完整性是否起到作用SELECT *FROM nation;INSERTINTO nationVALUES(40,'中华人民共和国',1,'china');

3.注意

可以使用CONSTRAINT 对实体完整性命名,方便对其修改和删除。

转载地址:http://dxyni.baihongyu.com/

你可能感兴趣的文章
开发增强现实(AR)教程——识别图的那些坑
查看>>
unity3d英语单词拼写小游戏Pics Quiz Maker With Categories 3.0
查看>>
unity填色绘画游戏Drawing Coloring Extra Edition
查看>>
unity缓动插件DOTween Pro v1.0.1
查看>>
unity 3d音效如何设置?,近大远小
查看>>
Unity3D无限奔跑者Playmaker v1.5
查看>>
Unity塔防游戏源码Warfront Defenders Playmaker Kit v1.7
查看>>
今天清理C盘空间,发现Unity的一个问题
查看>>
c#的Boolean.Parse用法
查看>>
NP完全问题
查看>>
avoid
查看>>
entity
查看>>
rear
查看>>
roof
查看>>
wiper
查看>>
chase
查看>>
unity中Camera.ScreenToWorldPoint
查看>>
unity项目开发必备插件Asset Hunter 2(资源猎人2)
查看>>
C++中 top()与pop()
查看>>
什么是PCM?它和.wav文件是什么关系?
查看>>