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

做公司网站 哪个程序用的多徐汇做网站

做公司网站 哪个程序用的多,徐汇做网站,wordpress教程 下载地址,wordpress ality表的外键 3.5.1表之间的三种关系 在数据库设计中,工作中经常会分析商业逻辑中的表的设计。在设计表的关系之前,需要先了解关系型数据库特点。关系数据库有如下特点: 关系型数据库采用了关系模型来组织数据的数据库。 关系型数据库的最大特点…

表的外键

3.5.1表之间的三种关系
在数据库设计中,工作中经常会分析商业逻辑中的表的设计。在设计表的关系之前,需要先了解关系型数据库特点。关系数据库有如下特点:
关系型数据库采用了关系模型来组织数据的数据库。
关系型数据库的最大特点就是事务的一致性;
关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
在现实业务分析中,理解为每个表和表之间是有联系的,这种联系包括:
1.一对1关系
2.一对多关系
3.多对多关系
一对一关系如球队与球队地址之间的关系,一支球队仅有一个地址,而一个地址也仅有一支球队。在数据库实际应用中,两张表之间是一对一关系, 一般用到的是主键关联。两个表之间有相同的字段,有相同的主键,如果字段不多的情况下可以设计成一个表。
一对多是最普遍的映射关系,比如球员与球队的关系。从球队角度来说一个球队有多个球员即为一对多。一对多的关系在数据库用主从表来体现。 主表有一条数据,从表有多条数据。“一”的那一端是父表,“多”的那一端是子表。
多对多关系也很常见,例如学生与选修课之间的关系,一个学生可以选择多门选修课,而每个选修课又可以被多名学生所选择。
数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。
3.5.2外键的应用
根据商业逻辑分析出两个表的关系是一对多的关系,父表设置一个主键,子表设置一个外键,外键与主键相关联。
外键是用于建立和加强两个表数据之间的链接的一列或多列。通过保存主表中主键值的一列或多列添加到另一个表中,这个列就成为第二个表的外键。
建立外键的格式如下:
create table 表名
(字段列表,
constraint 外键约束名
foreign key( 子表组成外键的字段 )
references 父表名称 ( 父表组成外键的字段 ) )

【例3-7】建立民族表和职工表,民族表包括民族名称,职工表包括职工编号、姓名、民族名称。往民族表插入数据包括汉族、满族、回族、然后往职工表中插入数据汉族、满族、回族。往子表插入苗族测试是否成功。把子表姓名为张海的民族名称修改为布依族, 测试是否成功。
分析两个表之间的关系。一个民族有很多职工,一个职工只有一个民族,所以民族表是父表,职工表是子表,需要在子表上建立外键。具体代码如下:

–第3章\ bdgl.sql

–建立父表和子表
create table minzu
(mincheng varchar2(2) primary key);

create table man
(
Bianhao varchar2(30),
name varchar2(10),
minzu varchar2(10),
constraint fk_minzu foreign key(minzu) references minzu(mincheng));

—父表插入数据
insert into minzu values(‘汉’);
insert into minzu values(‘满’);
insert into minzu values(‘回’);
Commit;
–子表插入数据
insert into man values(‘001’,‘张海’,‘汉’);
insert into man values(‘002’,‘孙清’,‘满’);
insert into man values (‘003’,‘王光耀’,‘回’);
Commit;

查询主表数据,如图3-11所示。

图3-11查询民族表数据
查询子表数据,如图3-12所示。

图3-12查询职工表数据
往子表插入苗族, 代码如下:
insert into man values (‘004’,‘刘海波’,‘苗’);
Commit;

执行后会出现错误提示,如图3-13所示。

图3-13违反完整约束条件

会提示违法约束条件,因为父表中没有苗族。结论:子表插入的纪录必须满足外键约束,在父表对应字段有相应的值。
更新子表数据,把姓名为张海的民族名称修改为布依族,代码如下:
Update man set minzu=‘布衣族’ where name=‘张海’;
执行后仍然会提示违法约束条件。因为子表更新的纪录必须满足外键约束,在父表对应字段有相应值。
删除主表的数据,代码如下:
delete from minzu where mincheng = ‘满’;
执行后会出现违法约束条件提示。
结论:直接删除主表的数据是不可以的,需要先删除子表的数据,再删除主表的数据,具体代码如下:
delete from man where minzu = ‘满’;
Commit;
delete from minzu where mincheng = ‘满’;
Commit;

3.6多表查询
当查询的数据并不是来源一个表时,需要使用多表连接操作完成查询。多表连接查询通过表之间的关联字段,一次查询出多个表的数据。
3.6.1等值连接
等值连接也称为简单连接(Simple Joins)或者内连接(Inner Join)。通过等号来判断连接条件中的数据值是否相匹配,具体格式如下:
Select table1_name.fieldname,
table2_name.fieldname
from table1_name, table2_name
Where 条件句

【例3-8】建立雇员表,包括字段编号、姓名、岗位名称。建立职工薪水表包括职工号、姓名、工资。需要查询出编号、姓名、岗位名称、薪水信息。具体代码如下:
–第3章\ bdgl.sql

--建立雇员表

create table EMPLOYEE
( id_1 varchar2(20),
name_1 varchar2(25),
station varchar2(20)
);

--建立职工薪水表

create table SALARY
(
id_2 varchar2(20),
name_2 varchar2(25),
salary NUMBER(8,2)
);

――插入数据
insert into employee values(‘1’,‘lily’,‘工程师’);
insert into employee values(‘3’,‘lucy’,‘项目经理’);
insert into employee values(‘5’,‘william’,‘人事经理’);
insert into employee values(‘6’,‘demon’,‘行政人员’);
insert into employee values(‘7’,‘david’,‘人事专员’);
Commit;
insert into salary values(‘1’,‘lily’,5000);
insert into salary values(‘2’,‘tom’,8000);
insert into salary values(‘3’,‘lucy’,5500);
insert into salary values(‘4’,‘linda’,3500);
insert into salary values(‘5’,‘william’,6000);
Commit;

select a.id_1,a.name_1,a.station,b.salary
from employee a,salary b
where a.id_1=b.id_2 ;
–也可以使用关键字inner join
select a.id_1,a.name_1,a.station,b.salary
from employee a
inner join salary b
on a.id_1=b.id_2 ;

查询结果如图3-14所示。

图3-14使用内连接的查询结果

从查询结果上可以看出查询了雇员表和薪水表中编号相同的数据。

http://www.yayakq.cn/news/495080/

相关文章:

  • 湖南营销类网站设计计算机网站建设名称
  • 化妆品网站建设方案的预算建设网站的步
  • 江苏省建设培训网站个人怎样申请网站
  • 网站怎么做内部链接网站建设宣传册
  • 嵊州建设局网站做网站需要了解
  • 天柱县住房和城乡建设部网站哪里有做网站平台
  • 建一个英文网站需要多少钱富平做网站
  • 做外贸网站注意什么织梦网站导航固定
  • 腾讯微信山东区建站推广中心有哪些网站是用php做的
  • 传媒公司营销网站wordpress导航站的源码
  • 做网站很累购物网站开发代码
  • 做网站侵权吗怎么提高网站排名
  • 优度公司做的网站怎么在wamp中卸载WordPress
  • 中国空间站成为全人类太空之家广州百度推广优化
  • 网站域名响应时间如何架设网站服务器
  • 高端网站设计需求有哪些wordpress菜单显示在哪里
  • 哪个网站建设公司好沾益住房和城乡建设局网站
  • 机票酒店 网站建设智慧政务门户网站建设方案
  • 免费做logo设计的网站高端网站建设公司排行
  • 网站空间如何使用最近最新新闻事件
  • 西宁seo网站建设互联网网站设计
  • 网站开发英语词汇黄金行情软件下载
  • 从零开始学网站建设上海注册公司没有地址怎么办
  • 网站建设哪里可以学.netcms网站管理系统
  • 做网站用的三角形图片网站建设学习资料
  • 有哪些做调查问卷赚钱的网站公众号开发者设置
  • wampserver做的网站新闻国际最新消息
  • 哈尔滨网站设计培训班开放平台设计方案
  • 网站建设费用价格明细表王占山战斗英雄
  • 济南网站建设599完整酒店网站开发