15.5 What is denormalization? Explain the pros and cons. 逆规范化Denormalization是一种通过添加冗余数据的数据库优化技术,可以帮助我们减少关系数据库中耗时的交Join.在一般的规范化的数据库中,我们将数据存在不同的表中是为了减少冗余数据,所以我们会尝试着每条数据在数据库中只有一份. 比如说,在一个规范化的数据库中,我们有Courses表和Teachers表,每个Courses表的一项都会保存teacherID,但是没有teac…
1 字段属性 主键.唯一键和自增长. 1.1 主键 主键:primary key,一张表中只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复. 一张表只能有最多一个主键. 1.1.1 增加主键 在SQL操作中欧有多种方式可以给表增加主键,大体分为三种: 方案1:在创建表的时候,直接在字段之后,跟primary key关键字(主键本身不能为空). -- 增加主键 create table my_pri( id int primary key, name ) not null…
15.7 Imagine a simple database storing information for students' grades. Design what this database might look like and provide a SQL query to return a list of the honor roll students (top 10%), sorted by their grade point average. 在一个简化的数据库中我们有三个表,St…
15.6 Draw an entity-relationship diagram for a database with companies, people, and professionals (people who work for companies). 在公司Companies工作的人是专家Proferssionals,所以人和专家是ISA("is a")的关系,每个专家有例如等级,和工作经验和其他从人Person继承来的属性.一个专家一次只能为一个公司工作,而一个公司可以雇佣…
15.4 What are the different types of joins? Please explain how they differ and why certain types are better in certain situations. Join是用来联合两个表的,每个表至少需要有一列是相同的,不同的Join类型会返回不同的结果.我们来看一个例子,有两个表,普通饮料和无卡饮料如下: -- TABLE RegularBeverages +-----------+------…
Building #11 is undergoing a major renovation. Implement a query to close all requests from apartments in this building. -- TABLE Apartments +-------+------------+------------+ | AptID | UnitNumber | BuildingID | +-------+------------+------------+ |…
Write a SQL query to get a list of all buildings and the number of open requests (Requests in which status equals 'Open'). -- TABLE Apartments +-------+------------+------------+ | AptID | UnitNumber | BuildingID | +-------+------------+------------+…
Write a SQL query to get a list of tenants who are renting more than one apartment. -- TABLE Apartments +-------+------------+------------+ | AptID | UnitNumber | BuildingID | +-------+------------+------------+ | 101 | A1 | 11 | | 102 | A2 | 12 | |…
Chapter 1. Arrays and Strings 1.1 Unique Characters of a String 1.2 Reverse String 1.3 Permutation String 1.4 Replace Spaces 1.5 Compress String 1.6 Rotate Image 1.7 Set Matrix Zeroes 1.8 String Rotation Chapter 2. Linked Lists 2.1 Remove Duplicates…
正文 [第一章] 回到顶部 1.1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实的环境系统,如服务器集群,负载均衡等. 回到顶部 1.2 数据库的基础 1.2.1 什么是数据库? 数据库:database,存储数据的仓库. 数据库(专业定义):高效的存储和处理数据的介质(介质主要是两种:磁盘和内存). 1.2.2 数据库的分类? 基于存储介质的不…