外键

软测5班数据库第一天课程(2019-9-18)今天是九一八事变纪念日,切记:落后就要挨打!!!

China☆狼群 提交于 2019-11-30 02:11:59
Sql server:微软,默认端口:1433 Mysql数据库:默认端口:3306 Oracle数据库:默认端口:1521 Sql server启动服务的二种方式: 在sql server配置管理器中启动服务 在计算机—管理工具—服务启动 实体:一条数据库中的记录。数据库表中存放格式相同的实体。 冗余:表中存在大量的重复数据。消除冗余会似表结构变的复杂,所以允许存在一定的冗余,一张表做一件事。 完整性:正确的数据输入到数据表中。 服务器类型:数据库引擎 服务器名称:数据库服务器的ip地址/数据库服务器的计算机名/localhost/.(本机) 身份验证:Windows身份验证/Sqlserver身份验证 登录名:Windows登录用户/sa(sqlserver管理员) 密码:****** 数据库文件 mdf文件:数据库主文件,用来存储数据表,一个库有且仅有一个mdf文件。 ndf文件:数据库的辅文件,用来存储数据表,一个库可以有0-N个ndf。 ldf文件:数据库的日志文件,用来记录数据库操作日志。 完整性约束 1:数据类型的约束,规定了输入到表中的数据类型。 文本数据类型: char类型(长度是8000):固定长度的非unicode编码字符。(非unicode字符一个长度等于8位2进制,可以表示一个英文数字或者符号,两个可以用来表示双字节字符) char(10):英文是10个

菜鸟学数据库(四)——超键、候选键、主键、外键

爷,独闯天下 提交于 2019-11-30 00:02:36
这些年的一些经历告诉我,很多初学者搞不清超键、候选键等,被数据库中的各种键搞的一头雾水。下面就跟大家一起聊聊数据库中的那些键。 首先看看各种键的定义: 超键( super key):在关系中能唯一标识元组的属性集称为关系模式的超键 候选键 (candidate key):不含有多余属性的超键称为候选键 主键( primary key):用户选作元组标识的一个候选键程序主键 外键 (foreign key)如果关系模式R1中的某属性集不是R1的主键,而是另一个关系R2的主键则该属性集是关系模式R1的外键。 结合实例的具体解释: 假设有如下两个表: 学生(学号,姓名,性别,身份证号,教师编号) 教师(教师编号,姓名,工资) 超键: 由超键的定义可知,学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(身份证号,性别)等。 候选键: 候选键属于超键,它是最小的超键,就是说如果再去掉候选键中的任何一个属性它就不再是超键了。学生表中的候选键为:(学号)、(身份证号)。 主键: 主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,教师表中让“教师编号”做主键。 外键: 外键比较简单,学生表中的外键就是“教师编号”。外键主要是用来描述两个表的关系。 来源: https://blog.csdn.net/m0_37317159

Python Django-03 orm外键 django生命周期 路由层

余生长醉 提交于 2019-11-29 22:10:29
一 orm外键建立 #1.一对一关系(随便建立在那张表中,推荐建立在查询频率高的表中) 字段名 = models.OneToOneField(to=关联表名,null=True) 例: author_detail = models.OneToOneField(to='AuthorDetail',null=True) #2.一对多关系(外键建立在多关系的表中) 字段名 = models.ForeignKey(to=关联表名) 例: publish = models.ForeignKey(to='Publish') # to表示的就是跟哪张表是一对多的关系 默认都是跟表的主键字段建立关系 # publish = models.ForeignKey(to=Publish) # to后面也可以直接写表名 但是必须保证表名在上面 #3.多对多(随便建立在任何一张表中,不需要自己手动建立第三张表orm会帮你键) 字段名 = models.ManyToManyField(to=关联表名) 例: authors = models.ManyToManyField(to='Author') # 不会在表中生成authors字段 该字段是一个虚拟字段 仅仅是用来告诉django orm自动帮你创建书籍和作者的第三张关系表 注意: 1.第三张表名为:当前字段所在: 类名(表名)_字段名,字段为:两张表名

SQLEditor主要功能使用说明

柔情痞子 提交于 2019-11-29 22:07:45
SQLEditor for Mac 是一款使用在OS X系统上的SQL数据库管理工具。用户只需要进行拖放和点击,便可以轻松地手动替换或键入的SQL,使得数据库的建立与管理变得更加便捷。这款软件还能对已有的数据库建立工程图进行管理,比如你已经有了一个数据库,那么 SQLEditor for Mac 这款软件就可以通过逆向工程图来帮助你看到它的样子。或者使用SQLEditor for Mac通过新的设计报告导出器创建文档。如果您需要设计数据库或者您有现有的数据库进行管理,这款软件将会带来极大的帮助。小编在这里为大家带来这款软件的部分功能的使用说明,希望能够对大家有所帮助。 SQLEditor主要功能使用说明 1、钥匙串密码 SQLEditor将保存的密码存储在钥匙串中。密码作为应用程序密码存储,使用连接字符串作为帐户描述,用户名作为 帐户用户名。 使用数据库导入或导出时,您可能会看到要求解锁钥匙串的消息。 2、复合外键 SQLEditor既支持简单的列到列外键,也支持涉及多列的外键。 要创建多列外键,需要将外键对象添加到表中,然后从新外键对象拖动到目标表。这将在表之间创建一个链接。然后,您可以选择新的外键并使用检查器添加列对。单击列表底部的+按钮,然后使用两个弹出菜单选择应 链接在一起的字段。 默认情况下,SQLEditor将尽可能使用旧样式外键导入,但是当它在导入时找到多列外键时

mysql 笔记二

早过忘川 提交于 2019-11-29 21:55:05
MySQL-2 mysql数据类型 数值型 整数型 类型 大小 用途 范围(无符号) 范围(有符号) tinyint 1B 小整数值 (0,255) (-127,128) smallint 2B 大整数值 (0,26535) (-32768,32767) mediumint 3B 大整数值 (0,16777215) int 4B 大整数值 (0,16777215) bigint 8B 极大整数值 (0,18446744073709551316) 小数型 类型 大小 用途 float 4B 单精度浮点数值 duoble 8b 双精度浮点数值 decimal decimal(M,D) 小数值 字符串型 类型 大小 用途 char 0~255B 定长字符串 varchar 0~65535B 可变长字符串(不确定字段长度) tinyblob 0~255B 不超过255个字符的二进制字符串 tinytext 0~255B 短文本字符串 blob 0~65535B 长文本数据(文本,图像,声音)(区分大小写) text 0~65535B 长文本数据(不区分大小写) binary 0~8000B 固定长度的二进制数据 varbinary 0~2GB 可变长度的二进制数据 mediumblob 0~16777215B 二进制形式的中等长度文本数据 mediumtext 0~16777215B

我真的不想再用 JPA 了

徘徊边缘 提交于 2019-11-29 20:49:52
在开发者的圈子里,没当说到一种技术好或者不好,都会引发激烈或者不激烈的争论,直到一个开发者出来说 PHP 是世界上最好的语言,大家伙儿才会纷纷退去继续写代码。 今天说 JPA 的问题不是想引发什么讨论或者骂战,单纯的就是我不喜欢 JPA 。没错,就是这么 Real。 说到 Java 开发,涉及到数据库访问的,主要就两种框架,一个是 MyBatis ,另一个就是 JPA。据说是国外 JPA 用的比较多,国内 MyBatis 用的比较多。国内为什么 MyBatis 用的多呢,传说是因为整个阿里系都用它。 JPA 全称是Java 持久化 API ,它的目的就是帮助我们提高开发效率,它的核心是 Java持久化查询语言 (JPQL),对存储在关系数据库中的实体进行查询。在语法上类似于SQL查询,但是操作的是实体对象而不是直接对数据库表进行操作。(摘自 wiki) 使用 JPA 开发的流程如下: 1、将数据库表映射到项目实体中 2、生成对应的 Repository 3、实现 Service ,Service 中调用 Repository JPA 帮你省事儿的地方就在 Repository 里,对于那些比较简单的逻辑,比如单表查询,直接根据名字就可以实现查询逻辑。对于大部分查询来说,真的很省事儿。但刚开始用的时候,确实感觉有些莫名其妙。 确实如此,如果你用过 JPA

【数据库】数据库入门(三): SQL

不羁的心 提交于 2019-11-29 20:49:28
SQL: 结构化查询语言(Structured Query Language) SQL 是由 IBM 公司首先开发产生,它是关系型数据库最早出现的商用语言之一。1974年,IBM 公司 San Jose, California 研究实验室的 D.D.Chamberlin 和 R.F. Boyce 研制出一套规范语言 SEQUEL (Structured English Query Language),并在1976年11月的 IBM Journal of R&D 上公布新版本的 SQL (叫 SWQUEL/2)。1980年改名为 SQL。 1986年,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSI X3. 135-1986),后为国际标准化组织(ISO)采纳为国际标准。 1989年,美国ANSI采纳在ANSI X3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSI SQL 89,该标准替代ANSI X3.135-1986版本。 1999年,SQL 继续扩展并划分出核心功能并根据这些功能划分出不同的封装。 2003年,SQL 继续扩展,并可以允许 XML 支持。 2011年,SQL 继续扩展,改善了对临时数据库的支持。 跟关系型数据模型不同的是,关系型数据库主要处理对象的集合,即集合中不能出现有重复的对象;而 SQL 主要处理的是多集,即

数据库知识梳理——innoDB 与 MyISAM 引擎区别

[亡魂溺海] 提交于 2019-11-29 19:30:35
MyISAM存储: 如果表对事务要求不高,同时是以查询和添加为主的,我们考虑使用myisam存储引擎,比如bbs 中的 发帖表,回复表,还有批量添加MyISAM效率高 INNODB 存储: 对事务要求高,保存的数据都是重要数据,我们建议使用INNODB,比如订单表,账号表。 【面试重点】MyISAM 和 INNODB的区别? 1. 事务安全(MyISAM不支持事务,INNODB支持事务) 2. 外键 MyISAM 不支持外键, INNODB支持外键. 3. 锁机制(MyISAM时表锁,innodb是行锁) 4. 查询和添加速度(MyISAM批量插入速度快) 5. 支持全文索引(MyISAM支持全文索引,INNODB不支持全文索引) 6.MyISAM内存空间使用率比InnoDB低 来源: https://blog.csdn.net/qq_38905818/article/details/100899326

mysql常规操作

流过昼夜 提交于 2019-11-29 17:40:35
数据库操作 查看当前登陆用户: select user(); 登录数据库 mysql -u用户名 -p密码 -h 连接地址 修改当前用用户密码 set password = password('123456'); 库操作 创建库 相当于创建了一个文件夹 create database python; 查看库 show databases; 使用库 切换到对应的文件夹 use python 表操作 创建表 create table tablename(字段名 类型(长度),字段名 类型(长度) 约束...) # 例子 create table score(id int(8),name char(20),num int(4)); 修改表 查看表 show tables; 查看表结构 # 查看一些简单的信息,更直观 desc score; # 详细,可以查看到表名编码,存储引擎等.. show create table score; 删除表 drop table score; 查看数据库的字符集设置 show variables like '%character%'; 临时设置字符集(数据库重启既失效) 永久设置需要修改mysql配置文件 # 命令临时修改 set character_set_server='utf8'; 数据的增删改查 增 # 插入一条数据 insert into 表名

TP5 belongsTo和hasOne的区别

狂风中的少年 提交于 2019-11-29 14:00:32
** TP5 belongsTo和hasOne的区别 ** 在使用tp5模型的ORM的时候,belongsTo和hasOne都表示一对一的关系,但是二者有所不同。举例如下: product表如下: id name img_id 1 商品1 2 2 商品2 3 3 商品3 6 image表如下: id url 1 /abd.png 2 /cad.jpg 3 /dawd.png 在product模型中关联image表的时候使用belongsTo,因为此时外键img_id字段,在做为主表的product中。 在image模型中关联product表的时候使用hasOne,因为此时外键img_id字段,在做为从表的product中。 简单说,使用belongsTo还是hasOne,就看外键是处于当前模型的主表还是从表中。 来源: CSDN 作者: 小呆瓜与小胖妞 链接: https://blog.csdn.net/weixin_42854221/article/details/82918028