mysql数据库安装教程依赖传递是什么意思

MySQL关系和范式
将实体与实体的关系,反应到最终表的设计中来。将关系分为三种:一对一,一对多(多对一)和多对多。
所有的关系都是指的是表与表之间的关系。
一张表中的一条记录一定只能与另外一张表的一条记录进行对应,反之亦然。
学生表:姓名,性别,年龄,身高,体重,婚姻状况,籍贯,家庭住址,紧急联系人
紧急联系人
表设计成以上这种形式,符合要求,其中姓名,性别,年龄,身高,体重属于常用数据,但是婚姻,籍贯,住址和联系人属于不常用数据,如果每次查询都是查询所有数据,不常用数据就会影响效率,实际又不用。
解决方案:将常用的和不常用的信息分离存储,分成两张表。
常用信息表
不常用信息表:保证不常用信息与常用信息一定能够对应上:找一个具有唯一性的字段来共同连接两张表。
紧急联系人
一个常用表中的一条记录,只能在一张不常用表中匹配一条记录。反之亦然。
一张表中有一条记录可以对应另一张表中的多条记录,但是反之,另外一张表的一条记录只能对应另一张表的一条记录。这种关系就是一对多或者多对一
母亲与孩子的关系
以上关系:一个妈妈可以在孩子表中找到多条记录,但是一个孩子表只能找到一个妈妈。是一种典型的一对多的关系
以上设计:解决了实体的实际表问题,但是没有解决关系问题:孩子找不到妈妈,妈妈也找不到孩子。
解决方案:在一张表中增加一个字段,能够找到另一张表的记录。应该在孩子表中增加一个字段指向妈妈表:因为孩子表的记录只能匹配到一条妈妈表的记录。
一张表中一个记录能够对应另外一张表中的多条记录,反之亦然。
老师教学:老师和学生
以上设计方案L实现了实体的设计,但是没有维护实体的关系。
解决方案:不管在哪张表中增加字段,都会出现一个问题:该字段要保存多个数据,而且是与其它表有关系的字段,不符合表设计规范。增加一张新表,专门维护两张表之间的关系
中间关系表
学生找老师:找出学生id && 中间表寻找匹配记录 && 老师表匹配
老师找学生:找出老师id && 重甲表寻找匹配记录 && 学生表匹配
范式:Normal Format,是一种离散数学中的只是,是为了解决数据的存储与优化的问题:保存数据的存储之后,凡是能够通过关系寻找出来的数据,坚决不再重复存储,终极目标是为了减少数据的冗余。
范式:是一种分层结构的规范,分为六层,每一层都比上一层更加严格,若要满足下一层范式,前提是满足上一层范式。
六层范式:1NF,2NF,&.6NF。 6NF最高层,最严格
MySql属于关系型数据库:有空间浪费,与范式所解决的问题不谋而合:在设计数据库的时候,会利用到范式来指导设计。
但是数据库不单是要解决空间问题,还要保证效率问题。范式只为解决空间问题,所以数据库的设计又不可能完全按照范式的要求实现,一般情况下,只有前三种范式需要满足。
范式在数据库的设计当中是有指导意义,但是不是强制规范。
第一范式:在设计表存储数据的时候,如果表中设计的字段存储的数据,在取出来使用之前,还需要额外的处理(拆分),那么说表的设计不满足第一范式,第一范式要求字段的数据就有原子性:不可再分。
第二范式:在数据表设计的过程中,如果有复合主键(多字段主键),且表中有字段并不是由整个主键来确定,而是依赖主键中的某个字段(主键的部分):存在字段依赖主键的部分的问题,称之为部分依赖,第二范式就是解决表不允许出现部分依赖。
vczK0rK70sDAtb2yyqaho7K7t/u6z7Xatv63tsq9oaM8YnIgLz4NCr3ivva3vbC4MaO6v8nS1L2r0NSx8NPrvbLKprWltsCzybHto6yw4Ly20+u9zMrS0rK1pbbAs8mx7aGjPGJyIC8+DQq94r72t72wuDKjusihz/u4tLrP1ve8/KOsyrnTw8LfvK3W97z8PC9wPg0KPGgyIGlkPQ=="3nf">3NF
要满足第三范式,必须满足第二范式。
第三范式:理论上讲,应该一张表中的所有字段都应该直接依赖主键,如果表设计中存在一个字段,并不直接依赖主键,而是通过某个非主键字段依赖,最终实现依赖主键,把这种不是直接依赖主键,而是依赖非主键字段的依赖关系称之为传递依赖。第三范式就是要解决传递依赖的问题
讲师带课表
以上设计方案中,性别依赖讲师存在,讲师依赖主键,教室依赖班级,班级依赖主键,性别和教室都存在传递依赖。
解决方案:将存在传递依赖的字段以及依赖的字段本身单独取出,形成一个单独的表,然后在需要对应信息的时候,使用对应的实体表的主键加进来。
讲师带课表
有时候,在设计表的时候,如果一张表中有几个字段需要从另外的表中去获取信息,理论上讲,的确可以获得想要的数据,但是效率低一点,会刻意的在某些表中,不去保存另外表的主键,而是直接保存想要的数据信息,这样一来,在查询数据的时候,一张表可以直接提供数据,而不需要多表查询((效率低)作者:&版权所有[文章允许转载,但必须以链接方式注明源地址,否则追究法律责任.]
#mysql 锁之间的依赖关系信息sql如下【打开注释部分的sql是查找最源头锁的thread_id线程id及关系】
& & &SELECT distinct b.trx_id blocking_trx_id,
& & & & & & & & & & &b.trx_mysql_thread_id 源头锁thread_id,
& & & & & & & & & & &SUBSTRING(p. HOST, 1, INSTR(p. HOST, ':') - 1) blocking_host,
& & & & & & & & & & &SUBSTRING(p. HOST, INSTR(p. HOST, ':') + 1) blocking_port,
& & & & & & & & & & &IF(p.COMMAND = 'Sleep', p.TIME, 0) idel_in_trx,
& & & & & & & & & & &b.trx_query blocking_query,
& & & & & & & & & & &r.trx_id waiting_trx_id,
& & & & & & & & & & &r.trx_mysql_thread_id waiting_thread,
& & & & & & & & & & &TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP) wait_time,
& & & & & & & & & & &r.trx_query waiting_query,
& & & & & & & & & & &l.lock_table waiting_table_lock
& & & &FROM information_schema.INNODB_LOCKS l
& & & &LEFT JOIN information_schema.INNODB_LOCK_WAITS w
& & & & &ON w.requested_lock_id = l.lock_id
& & & &LEFT JOIN information_schema.INNODB_TRX b
& & & & &ON b.trx_id = w.blocking_trx_id
& & & &LEFT JOIN information_schema.INNODB_TRX r
& & & & &ON r.trx_id = w.requesting_trx_id
& & & &LEFT JOIN information_schema. PROCESSLIST p
& & & & &ON p.ID = b.trx_mysql_thread_id
& & &/*JOIN (SELECT blocking_trx_id -- 查找最源头的trx_id
& & & & & &FROM information_schema.INNODB_LOCK_WAITS ilw
& & & & & WHERE blocking_trx_id NOT IN
& & & & & & & & (SELECT requesting_trx_id
& & & & & & & & & &FROM information_schema.INNODB_LOCK_WAITS)) c
& & &ON c.blocking_trx_id = b.trx_id */
& & &ORDER BY wait_time DESC;
关联对象的介绍:
--&innodb_locks ## 当前出现的锁&
mysql & desc innodb_
+-------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------------+------+-----+---------+-------+
| lock_id | varchar(81) | NO | | | |#锁ID
| lock_trx_id | varchar(18) | NO | | | |#拥有锁的事务ID
| lock_mode | varchar(32) | NO | | | |#锁模式
| lock_type | varchar(32) | NO | | | |#锁类型
| lock_table | varchar(1024) | NO | | | |#被锁的表
| lock_index | varchar(1024) | YES | | NULL | |#被锁的索引
| lock_space | bigint(21) unsigned | YES | | NULL | |#被锁的表空间号
| lock_page | bigint(21) unsigned | YES | | NULL | |#被锁的页号
| lock_rec | bigint(21) unsigned | YES | | NULL | |#被锁的记录号
| lock_data | varchar(8192) | YES | | NULL | |#被锁的数据
+-------------+---------------------+------+-----+---------+-------+
-- innodb_lock_waits ## 锁等待的对应关&
mysql & desc innodb_lock_
+-------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+-------------+------+-----+---------+-------+
| requesting_trx_id | varchar(18) | NO | | | |#请求锁的事务ID
| requested_lock_id | varchar(81) | NO | | | |#请求锁的锁ID
| blocking_trx_id | varchar(18) | NO | | | |#当前拥有锁的事务ID
| blocking_lock_id | varchar(81) | NO | | | |#当前拥有锁的锁ID
+-------------------+-------------+------+-----+---------+-------+
--&innodb_trx ## 当前运行的所有事务&&
& desc innodb_
+----------------------------+---------------------+------+-----+---------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+---------------------+------+-----+---------------------+-------+
| trx_id | varchar(18) | NO | | | |#事务ID
| trx_state | varchar(13) | NO | | | |#事务状态:
| trx_started | datetime | NO | |
00:00:00 | |#事务开始时间;
| trx_requested_lock_id | varchar(81) | YES | | NULL | |#innodINNODB_TRXb_locks.lock_id
| trx_wait_started | datetime | YES | | NULL | |#事务开始等待的时间
| trx_weight | bigint(21) unsigned | NO | | 0 | |#
| trx_mysql_thread_id | bigint(21) unsigned | NO | | 0 | |#事务线程ID
| trx_query | varchar(1024) | YES | | NULL | |#具体SQL语句
| trx_operation_state | varchar(64) | YES | | NULL | |#事务当前操作状态
| trx_tables_in_use | bigint(21) unsigned | NO | | 0 | |#事务中有多少个表被使用
| trx_tables_locked | bigint(21) unsigned | NO | | 0 | |#事务拥有多少个锁
| trx_lock_structs | bigint(21) unsigned | NO | | 0 | |#
| trx_lock_memory_bytes | bigint(21) unsigned | NO | | 0 | |#事务锁住的内存大小(B)
| trx_rows_locked | bigint(21) unsigned | NO | | 0 | |#事务锁住的行数
| trx_rows_modified | bigint(21) unsigned | NO | | 0 | |#事务更改的行数
| trx_concurrency_tickets | bigint(21) unsigned | NO | | 0 | |#事务并发票数
| trx_isolation_level | varchar(16) | NO | | | |#事务隔离级别
| trx_unique_checks | int(1) | NO | | 0 | |#是否唯一性检查
| trx_foreign_key_checks | int(1) | NO | | 0 | |#是否外键检查
| trx_last_foreign_key_error | varchar(256) | YES | | NULL | |#最后的外键错误
| trx_adaptive_hash_latched | int(1) | NO | | 0 | |#
| trx_adaptive_hash_timeout | bigint(21) unsigned | NO | | 0 | |#
+----------------------------+---------------------+------+-----+---------------------+-------+
& & &扩展:
& 【源于本人笔记】 若有书写错误,表达错误,请指正...&
此条目发表在&分类目录。将加入收藏夹。
&&&回复&&&:
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:10
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员我想问一下数据库诸如mysql,oracle的内部存储结构是自己开发的还是依赖与操作系统的文件系统_百度知道
我想问一下数据库诸如mysql,oracle的内部存储结构是自己开发的还是依赖与操作系统的文件系统
我想问一下数据库诸如mysql,oracle的内部存储结构是自己开发的还是依赖与操作系统的文件系统我想问一下数据库诸如mysql,oracle的内部存储结构是自己开发的还是依赖与操作系统的文件系...
我想问一下数据库诸如mysql,oracle的内部存储结构是自己开发的还是依赖与操作系统的文件系统我想问一下数据库诸如mysql,oracle的内部存储结构是自己开发的还是依赖与操作系统的文件系统(即其性能与可靠性完全依赖五文件系统的性能可靠性,自己完全没有掌控的余地)
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
有想法就说出来
有想法就说出来
采纳数:46
获赞数:82
oracle应该是自己管数据文件的
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&>&mysql安装所需要的一些依赖包
mysql安装所需要的一些依赖包
上传大小:16.71MB
bison-2.7.tar.gz
cmake-2.8.11.2.tar.gz
gcc-g++-4.6.4.tar.gz
make-3.82.tar.gz
ncurses-5.9.tar.gz
综合评分:4
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有6条
一个名叫zip 的text文件,怎么用的啊
还好还好还好
这是什么系统的
VIP会员动态
热门资源标签
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
mysql安装所需要的一些依赖包
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
mysql安装所需要的一些依赖包mysql-5.5.56版本(二进制包安装)-自定义安装路径
安装路径:/application/mysql-5.5.56
1.前期准备
yum install -y libaio
创建用户mysql,以该用户的身份执行mysql
useradd -s /bin/false -M mysql
下载mysql二进制包并解压
wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.56-linux-glibc2.5-x86_64.tar.gz
tar -zxf mysql-5.5.5...
mysql-5.7.18版本(二进制包安装)-自定义安装路径
安装路径:/application/mysql-5.7.18
1.前期准备
yum install -y libaio
创建用户mysql,以该用户的身份执行mysql
useradd -s /bin/false -M mysql
下载mysql二进制包并解压
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
tar -zxf mysql-5.7.1...
阿里云大学为您免费提供
相关信息,包括
的信息 ,所有
相关内容均不代表阿里云的意见!投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员5个工作日内回复。

我要回帖

更多关于 mysql手机客户端 的文章

 

随机推荐