当前位置:首页 » 操作系统 » 数据库主从表

数据库主从表

发布时间: 2023-06-18 14:35:49

Ⅰ 为什么数据库要有主从表之分

完全可以不需要的。

之所以搞出个主从表,是为了加快数据的查询,减少数据的冗余。
表与表的联系是通过外码进行的。

你要是搞个小型数据库可以只用一个表。但是字段要是多了,你会发现很难管理或者冗余过大。
按照数据库设计理论,只要符合3NF的就已经很好了。多数人设计成一个表,很大程度上不可能称为3NF,所以要进行分解。

Ⅱ 数据库中,主表,从表,父表,子表的定义和区别,最好能举例说明,万分感谢

主表与从表:主表存得时从北京到上海的高铁信息,从表则存得时:北京-天津;天津-河北....这种存在一定的主从关系,在数据库中成为主从表。
父表,子表:你定义了一个导航菜单表,然后每一个菜单下的子菜单定义了一张表,这类数据

Ⅲ 如何在sql server数据库中建立主从表

T-SQL代码:
Alter Table 从表名
Add Constraint 约束名 Foreign Key(从表列名) References 主表名(主表列名)

Ⅳ 关于数据库设计,为什么采取主从表结构

就拿你所例举的例子来说,一张入库单可能对用多个物料,如果不是采用主从表的形式,那么你的主表的数据就会有大量的重复。通常有多少物料就会重复多少次。这对系统的资源是很大的浪费。其实这种情况在数据库基础的知识学习当中是有专门的范式约束,可以避免的。 主从表的关联,一般是在从表中添加一个主表的主键字段作为从表的外键,比如入库单号。这样主从表就可以建立一对多的对应关系了。

Ⅳ 如何添加新数据库到MySQL主从复制列表

具体操作如下:
1. 从服务上,停掉slave数据库。
stop slave;

2. 主服务器上,导出新数据库。
mysqlmp --master-data --single-transaction -R --databases newdb > newdb.sql

3. 主服务器上,修改my.cnf文件,添加新库到binlog-do-db参数,重启mysql。
4. 在导出的newdb.sql里面查找当前的日志文件以及位置(change master to …)
然后让slave服务器执行到这个位置。
start slave until MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=1222220;

其中MASTER_LOG_FILE以及MASTER_LOG_POS在导出的数据库newdb.sql顶部位置查找。
4. 导入新库到从服务器上。
mysql < newdb.sql

5. start slave
其中比较重要的是在主服务器上导出新库时的日志位置(position A),这个点很重要,以这个点做为分界线,导入新库。
这种方法也同样适用于某个数据库或者某个数据表不同步的情况,比如主从数据库有一个表由于某些原因数据不一致,那么上面的方法只需要去掉重启数据库一步,其他的操作基本

Ⅵ 如何在sql server数据库中建立主从表

create table class
(
cid char(2) primary key not null,
cname varchar(10)
)
create table student
(
sid char(6) primary key not null,
sname varchar(10),
cid char(2) constraint fk_cid foreign key references class(cid)
)
也可以不用写代码 直接在SQL SERVER管理工具中创建时 在关联的表间字段用鼠标建立

Ⅶ SQL中主从表中建立联系的列有何要求

建立外键列的要求:


  1. 必须与主表的主键列数据类型一致

  2. 列不允许为空

  3. 外键表与主表必须在同一数据库

  4. 外键表有值时,主表无法删除被外键表引用的主键值所在行

  5. 外键表有值时,不可更新被外键表引用的主键值



下面是关于外键约束的资料


FOREIGN KEY 约束

如果在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用的列中存在,否则将返回违反外键约束的错误信息。

FOREIGN KEY 约束应用于前面所讲的列,除非指定了源列。

FOREIGN KEY 约束仅能引用位于同一服务器上的同一数据库中的表。数据库间的引用完整性必须通过触发器实现。有关更多信息,请参见 CREATE TRIGGER。

FOREIGN KEY 可以引用同一表中的其它列(自引用)。

列级 FOREIGN KEY 约束的 REFERENCES 子句仅能列出一个引用列,且该列必须与定义约束的列具有相同的数据类型。

表级 FOREIGN KEY 约束的 REFERENCES 子句中引用列的数目必须与约束列列表中的列数相同。每个引用列的数据类型也必须与列表中相应列的数据类型相同。

如果 timestamp 类型的列是SQL Server 外键或被引用键的一部分,则不能指定 CASCADE。

可以在相互间具有引用关系的表上组合使用 CASCADE 和 NO ACTION。如果 SQL Server 遇到 NO ACTION,将终止执行语句并回滚相关的 CASCADE 操作。当 DELETE 语句导致 CASCADE 和 NO ACTION 组合操作时,在 SQL Server 检查 NO ACTION 操作之前将执行所有 CASCADE 操作。

一个表最多可包含 253 个 FOREIGN KEY 约束。

对于临时表不强制 FOREIGN KEY 约束。

每个表在其 FOREIGN KEY 约束中最多可以引用 253 个不同的表。

FOREIGN KEY 约束只能引用被引用表的 PRIMARY KEY 或 UNIQUE 约束中的列或被引用表上 UNIQUE INDEX 中的列。

热点内容
ubuntu下载ftp文件 发布:2025-03-24 01:43:20 浏览:706
我的世界如何建造一个pvp服务器 发布:2025-03-24 01:38:34 浏览:244
pythonshutil覆盖 发布:2025-03-24 01:33:29 浏览:624
帕灯编程 发布:2025-03-24 01:27:20 浏览:240
如何定义服务器字体 发布:2025-03-24 01:26:28 浏览:264
php表格打 发布:2025-03-24 01:18:20 浏览:778
linux如何搭建nis服务器 发布:2025-03-24 01:17:30 浏览:147
银行卡登陆密码是什么 发布:2025-03-24 01:15:57 浏览:957
qq空间怎么设密码手机 发布:2025-03-24 01:13:09 浏览:579
团购php 发布:2025-03-24 01:11:29 浏览:544