数据库第二套卷
一、选择题
1. 建立两个表的一对多联系,是通过什么索引实现的:“一方”表的主索引或候选索引;“多方”表的普通索引
一方的主键作为多方的外键
2. 设有关系R1和R2,经过关系运算得到结果S,则S是:一个关系
3. 使用CREATE SCHEMA语句建立的是:数据库模式
- 数据模型有“型”和“值”的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。
- schema只涉及型的描述,不涉及具体的值。
A Coder,a Programmer,a Developer
一方的主键作为多方的外键
1 | IP:192.168.5.121 |
理解:
推荐阅读:单点登录原理与简单实现
Http无状态协议。浏览器使用http协议对服务器发出的每一次请求,服务器都会独立处理,不与之前或之后的请求产生关联,即无状态。所以为了保护服务器的某些资源,必须限制浏览器请求,鉴定请求的合法性。既然http无状态,就让服务器和浏览器共同维护一个状态,即会话机制。
会话。浏览器第一次请求服务器,服务器创建一个会话,并将会话的id作为响应的一部分发送给浏览器。浏览器存储该id,并在第二次第三次请求时带上该id,服务器取得请求中的会话id就知道是不是同一个用户了。
会话机制。服务器在内存中保存session对象。浏览器在cookie中保存sessionId,在Tomcat中sessionId用的是JSESSIONID,流程如下:

浏览器第一次输入帐密,服务器拿到帐密去数据库比对,比对正确说明是合法用户,将该会话标记为“已授权”或“已登录”的状态,该会话状态被服务器保存在会话对象中,当用户再次访问时,服务器在会话对象中查看登录状态,判断是否合法,合法后才允许访问。
单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器和服务器之间维护会话状态,但cookie受到域的限制(通常对应网站的域名)。浏览器在发送http请求时会自动携带与该域匹配的cookie,而不是所有cookie。。需要注意的是,曾经流行过的顶级域名的方式虽然可行,但面临着应用群域名不统一,技术不同,共享cookie无法跨语言平台登录,cookie本身不安全等诸多问题。
副标题:姜承尧《MySQL技术内幕 InnoDB存储引擎》读书笔记 2
InnoDB引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理
缓冲池是一块内存区域,在数据库进行读取页的操作,首先将磁盘读到的页放在缓冲池中,称为将页“FIX”在缓冲池。下一次读到相同页时,首先判断该页是否在缓冲池中,若是则直接在缓冲池中读取该页,否则,读取磁盘上的页
对于数据库中页的修改操作,首先修改在缓冲池中的页,然后以一定的频率刷新到磁盘上。但并不是每一次修改都会触发刷回数据的操作,而是按照一种称为checkpoint的机制进行
缓冲池的大小直接影响数据库的整体性能,32位操作系统下,该值最多可以设置为3G,此外用户可以打开操作系统的PAE选项来获得32位OS下最大64G内存的支持
1 | //查看缓冲池的大小,以下134217728B表示128MB |
副标题:姜承尧《MySQL技术内幕 InnoDB存储引擎》读书笔记 1
MySQL被设计为 一个单进程多线程架构的数据库,故MySQL数据库实例在系统上的表现就是一个进程
1 | [root@VM_0_2_centos bin]# mysql --help | grep my.cnf |
/etc/my.cnf -> /etc/mysql/my.cnf ->/usr/etc/my.cnf-> ~/.my.cnf的顺序读取配置文件。datadir指定了数据库所在的路径,如datadir=/var/lib/mysql数据库是由一个个文件(二进制)组成的,要对这些文件执行SELECT、INSERT等操作,不能通过操作文件更改数据库的内容,需要通过数据库实例来完成
MySQL组成部分:
InnoDB存储引擎支持事务,通过使用多版本并发控制(MVCC)来获得高并发性,并实现SQL标准的4种隔离级别。同时使用next-key locking的策略(也就是间隙锁)来避免幻读(phantom)现象的产生。此外,提供了插入缓存 、二次写、自适应哈希索引、预读等高性能和高可用的功能(其他引擎略过)
副标题:阅读《网络是怎么连接的(户根勤)》读书笔记6
转发模块和端口模块两部分转发模块负责,判断包的转发目的地端口模块负责,进行包的收发操作| 目标地址 | 子网掩码 | 网关 | 接口 | 跃点数 |
|---|---|---|---|---|
| 10.10.1.0 | 255.255.255.0 | - | e2 | 1 |
| 10.10.1.101 | 255.255.255.255 | - | e2 | 1 |