当前位置: 首页 > wzjs >正文

织梦网站栏目字体怎么调友情链接可以随便找链接加吗

织梦网站栏目字体怎么调,友情链接可以随便找链接加吗,公司局域网,北京官方网站怎么做文章目录 数据的完整性实体的完整性主键 域完整性参照完整性外键 多表设计/多表理论一对一和一对多多对多 数据库的设计范式第一范式:原子性第二范式:唯一性第三范式:不冗余性 数据的完整性 实体的完整性 加主键,保证一个表中每一…

文章目录

  • 数据的完整性
    • 实体的完整性
      • 主键
    • 域完整性
    • 参照完整性
      • 外键
  • 多表设计/多表理论
    • 一对一和一对多
    • 多对多
  • 数据库的设计范式
    • 第一范式:原子性
    • 第二范式:唯一性
    • 第三范式:不冗余性

数据的完整性

实体的完整性

加主键,保证一个表中每一条数据 和其他条目不同。

主键

实体完整性确保表中的每一行都是唯一的,并且具有唯一的标识符(通常是一个主键)。这意味着在表中不能有重复的行,并且主键字段不能包含NULL值。

主键

在SQL中,主键(Primary Key)是一个或多个字段的组合,用于唯一标识数据库表中的每一行记录。其具备以下特点:

  1. 唯一: 主键的值必须是唯一的,不允许有重复的值。
  2. 非空:主键字段不能包含NULL
  3. 主键可以加快查询速度:主键在创建时会自动建立索引,这有助于提高查询速度。

在一个标准,存储数据的时候,逻辑上我们认为一行数据是一个不可拆分的整体,要求(不是语法要求,是约定俗成的数据库使用规范)每一行数据和另一行不要重复,所以我们在上面的创建表的时候,就给了一个id,准备用它来充当“唯一标识”、

主键的定义:SQL语法 primary key

我们可以给表中的某一列设置为主键,

成为主键之后有两个特点:(1)不允许为null,(2)不允许在表中重复

CREATE TABLE `test`(`id` int  primary key,`name` varchar(255),`gender` char(1)
);-- 或者CREATE TABLE `test`(`id` int,`name` varchar(255),`gender` char(1)primary key(id)
);-- 如果一个表表在创建的时候没有主键,增加主键的sql  -- 使用上:没有任何意义,
-- alter table 表名 add primary key(主键列);
alter table user add primary key (id);-- 联合主键:复合主键(不建议)。这意味着id和name的组合在table_primary3表中表示主键。
CREATE TABLE table_primary3(id INT(11),name VERCHAR(25),job VERCHAR(25),salary FLOAT,PRIMARY KEY(id, name)
);
insert into test values(1, 'zl', '男');	-- 如果有id 1,就会插入报错。

如果要解决正确的步骤就是先查表,看哪个id没有使用,然后插入的时候再插入

-- 使用sql语句解决-- 在创建表时
CREATE TABLE `test`(`id` int  primary key AUTO_INCREMENT,`name` varchar(255),`gender` char(1)
);-- 插入
-- 服务器接收sql语句,插入NULL对应id,发现id为主键,然后看是否自增,如果不是自增就会报错,有自增会选取一个自增值
insert into test values(null, 'zl', '男');

域完整性

设计某些列,类型要合适,范围要合适

储存数据的时候,存储的内容要符合列的类型的设置

参照完整性

在关系型数据库中,一个表的数据可能依赖于另一个表的数据而存在,或者说两个表的数据存在关联,所以我们希望这种关联/参照,具有一致性(要修改的是同步进行变化)。

外键只是保证参照完整性的一种方式

外键

强制绑定两个具有参照的表的字段。

也就是将一个表的外键绑定为另一个表的主键

在对一个表中的键进行修改时,可能会另一个关联表中进行全局扫描,因为要查看在另一个表中是否在使用。并且主键的扫描次数会少,性能高一点,但是外键的查找性能会低很多。

(修改主键值时,数据库需要检查所有关联的外键约束。如果外键列没有索引,会导致全表扫描,性能较差;而主键由于自带唯一索引,查找效率较高。因此,在设计数据库时,应避免频繁修改主键,并为外键创建索引以提高查询性能)

外键是 MySQL 中用于建立和加强两个表数据之间链接的一种约束。下面我来介绍它的使用方法:

创建外键

在创建表时,可以通过以下方式定义外键:

CREATE TABLE 表名(字段1 数据类型,字段2 数据类型,...[CONSTRAINT 外键约束名] FOREIGN KEY (外键字段名) REFERENCES 主表名(主键字段名)
);

举个例子:

CREATE TABLE department (id INT PRIMARY KEY,name VARCHAR(50)
);CREATE TABLE employee (id INT PRIMARY KEY,name VARCHAR(50),department_id INT,FOREIGN KEY (department_id) REFERENCES department(id)
);

删除外键

可以使用 ALTER TABLE 语句来删除外键约束:

ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名;

要留意的是,外键约束名可以通过查看表结构获取,也能在创建外键时自行定义。

外键约束选项

在外键定义中,还能够添加 ON UPDATE 和 ON DELETE 子句,以此来定义当主表中的记录被更新或者删除时,从表应该执行的操作。常见的选项如下:

  • ON DELETE CASCADE:主表记录删除时,从表相关记录自动删除。
  • ON UPDATE CASCADE:主表记录更新时,从表相关记录自动更新。
  • ON DELETE SET NULL:主表记录删除时,从表相关字段设为 NULL(要求该字段允许 NULL 值)。
  • ON UPDATE SET NULL:主表记录更新时,从表相关字段设为 NULL。

示例如下:

CREATE TABLE employee (id INT PRIMARY KEY,name VARCHAR(50),department_id INT,FOREIGN KEY (department_id) REFERENCES department(id)ON DELETE CASCADEON UPDATE CASCADE
);

使用外键的注意事项

  1. 主表和从表的字段数据类型要保持一致。
  2. 主表的字段必须是主键或者具有唯一约束。
  3. InnoDB 存储引擎才支持外键,MyISAM 不支持。
  4. 外键会对数据的插入、更新和删除操作产生影响,可能会导致性能下降。
  5. 要避免出现循环外键约束,不然会造成死锁的情况。

多表设计/多表理论

一对一和一对多

一对一的表很少见,因为在理论上可以合并为一张表。

多对多

多对多的两张表一般需要一个中间对照表来连接两个表之间的关系。

依靠中间表,来将多对多的两张表,进行连接,对应下面就是:学生信息与对照表是一对多的关系,剧本表与对照表是一对多的关系,学生信息表与剧本表是多对多的关系。

数据库的设计范式

第一范式:原子性

第二范式:唯一性

不存在部分依赖(不能是组合唯一,就是使用联合主键)必须为某一列作为主键设置唯一。

第三范式:不冗余性


文章转载自:

http://5QaOEGv2.bpwdc.cn
http://nPbT9s2d.bpwdc.cn
http://6KDSZx1F.bpwdc.cn
http://bfkooypM.bpwdc.cn
http://sj34oUgz.bpwdc.cn
http://1iljxCBH.bpwdc.cn
http://jon425dG.bpwdc.cn
http://8mg0GOkp.bpwdc.cn
http://rHCA3FC6.bpwdc.cn
http://TCen7yJV.bpwdc.cn
http://LWjUAg83.bpwdc.cn
http://G7dXk663.bpwdc.cn
http://xq1ZKUbw.bpwdc.cn
http://EiAiLTUP.bpwdc.cn
http://JVx7qdnv.bpwdc.cn
http://Aa0K42Oe.bpwdc.cn
http://aXOruuzk.bpwdc.cn
http://07SKLAuQ.bpwdc.cn
http://eQigUIpP.bpwdc.cn
http://QHmA0C0a.bpwdc.cn
http://bpAuwzgs.bpwdc.cn
http://0jxWhxgc.bpwdc.cn
http://JdNLtrOb.bpwdc.cn
http://iOlj6tNo.bpwdc.cn
http://5tvS1NmI.bpwdc.cn
http://dWxSmh2a.bpwdc.cn
http://ro1sIWpU.bpwdc.cn
http://hyJjX3bY.bpwdc.cn
http://1V5Z1RXH.bpwdc.cn
http://8ooib5Cx.bpwdc.cn
http://www.dtcms.com/wzjs/754196.html

相关文章:

  • 阿里云域名注册好了怎么做网站wordpress维护主题
  • 湖南长沙seoseo排名优化的方法
  • 高端网站建设流行风动漫推荐
  • 做网站可以抄袭别人吗js网站变灰色代码
  • 合肥网站推广 公司搭建一个网站需要多少钱
  • 公司做的网站账务处理海南省住房和城乡建设厅官方网站
  • 网站建设与推广实训小结河北省最新任免
  • 做投票链接网站wordpress 后台乱码
  • 上海企业网站制作哪家专业免费建网页
  • 个人网站备案信息中国住房城乡建设厅网站首页
  • 建个企业网站一年需要多少钱朝阳区北京网站建设
  • 咋做网站代码背景图桂林建站
  • 用php建设一个简单的网站朝阳区网站开发公司
  • 阅读小说网站建设深圳网站建设公司信任湖南岚鸿信 赖
  • 网站规划书市场分析亚马逊在哪个网站做推广
  • dw2018网页制作步骤图文搜索引擎网站排名优化方案
  • 网站首页图片叫什么平面logo设计公司
  • 南宁网站建设地方企业建站用什么系统
  • 门户网站手机版udacity 网站开发
  • 网站建设总体说明网站推广的优劣
  • 网站制作网站推广建设银行网站怎么登陆密码
  • 网站源码下载平台商城建站模板
  • 免费php模板网站网站后台地址忘记了
  • 深圳市信任网站沙漠风网站建设6
  • 网站开发视频下载现在还有什么网站
  • 义乌网站开发产品类网站模板
  • 凌源网站建设最新新闻热点事件
  • 企业站模板精美的php个人网站源码
  • 个人网站建设课程介绍织梦装修网站模板
  • 登陆国外的网站要这么做idc主机托管