主键、唯一键、外键 以及 一对一查询,一对多查询

1: 什么叫键
 
    数据库中的键(key)又称为关键字,是关系模型中的一个重要概念,它是逻辑结构,不是数据库的物理部分。
 
 
2:唯一键
 
    唯一键,即一个或者一组列,其中没有重复的记录。可以唯一标示一条记录。
 
 
3:主键
 
    属于唯一键,是一个比较特殊的唯一键。区别在于主键不可为空。
 
 
4:外键
 
    一张表外键的值一般来说是另一张表主键的值。因此,外键的存在使得表与表之间可以联系起来
 
 
  • 1:如何创建主键、唯一键
第一种方式:
 
    reate table yhy (id int not null primary key ,name varchar(250) unique key, age int);
 
 
第二种方式:这里同时也给大家演示了如何将多个字段合并起来创建一个键
 
    create table yhy (id int, name varchar(250), age int, primary key(id), unique key(name, age));
 
  • 2:如何创建外键(一定要搞懂)

Alt text

先搞清楚几个概念,如果概念不搞清楚,请先不要动手
 
 
1)给一张表创建外键的时候,必须要保证外键的值已经存在了。也就是说,一张表如果拥有外键,通常将其称为从表,而外键引用的那种表通常称为主表。
 
 
2)那么,现在我们就搞清楚了什么是主表,什么是从表了。就像上图所示,person表叫做从表,part表叫做主表。因为person表中的part_id字段的值来自于part表中的nid字段的值。
 
 
3)从表面上来看,有foreign key的表就叫从表,有primary key的表就叫主表。
 
 
4)那么在创建表的时候,必须先创建主表,再创建从表
 
 
5)那么在删除表的时候,必须先删除从表,再删除主表
 
 
(1)创建主表和从表
 
    create table part (nid int, caption varchar(250), primary key(nid));
 
    create table person (nid int, name varchar(250), email varchar(250), extra varchar(250), part_id int, foreign key(part_id) references part (nid));
 
 
 
(2)删除主表和从表
 
    drop table person;
 
    drop table part;
 
  • 3:在搞懂了如何创建主表和从表之后,我们再来搞一搞如何创建多张主表,一张从表的模型(超级重要,一定要搞懂)

Alt text

思路:先创建主表,再创建从表
 
 
    create table woman (id int, name varchar(250), primary key(id));
 
    create table man (id int, name varchar(250), primary key(id));
 
    create table man_to_woman (nid int, man_id int, woman_id int, foreign key(man_id) references man (id), foreign key(woman_id) references woman (id));
posted @ 2017-09-02 20:21  ~小学生~  阅读(1351)  评论(0编辑  收藏  举报