SQL杂文和常见问题整理

Q:数据库启动失败,提示找不到pid文件
A:一、以前的数据库服务未释放,致使3306端口处于占用状态
二、数据库初始化失败
三、数据目录位置错误
四、数据目录权限问题mysql

SQL模型:
ANSI QUOTES
IGNORS_SPACE
STRICT_ALL_TABLES
STRICT_TRANS_TABLES
RADITIONALsql

MYSQL服务器变量:
做用域:分为两类
全局变量
SHOW GLOBAL VARIABLES
会话变量
SHOW [SESSION] VARIABLES数据库

DDL:数据操做语言
INSERT
DELETE
SELECT
UPDATE
DML:数据定义语言
CREATE
DROP
ALTER
DCL:数据控制语言
GRANT
REVOKE缓存

RDB对象:
库、表、索引、视图、用户、存储过程、存储函数、触发器、事件调度器。服务器

约束:
    域约束:数据类型约束
    外键约束:引用完整性约束
    主键约束:某字段能惟一标识此字段所属的实体,而且不容许为空一张表中能够有多个
    检查性约束:age:int

关系型数据库:
表示层:表
逻辑层:存储引擎
物理层:数据文件多线程

数据存储和查询
存储管理器:
        权限机完整性管理
        事务管理器
        文件管理器
        缓冲区管理器
查询管理器:
                DML解释器
                DDL解释器
                DCL解释器
查询执行引擎

mysql是单进程多线程的系统;不会给多个进程启动多个进程!

线程复用

mysql不支持对称多处理器(smp),意思是不能在一个sql处理分摊到多个cpu上处理,所以在处理速度上面就慢。

关系运算:
投影:只输出指定的字段
选择:只输出符合条件的行
天然连接:具备相同名字的全部属性值上取值相同的行
笛卡尔积:ide

SQL查询语句:
sequel ---> SQL
SQL-86
SQL-89
SLQ-92
SQL-99
SQL-08函数

SQL语言的组成部分:
DDL:
DML:
完整性定义语言:DDL的一部分功能
视图定义:
事务控制:
嵌入式SQL和动态SQL:
受权:DCL优化

使用程序设计语言如何RDBMS交互:
         嵌入式SQL:与动态SQL相似,但其语言必须程序编译时彻底肯定下来;
         ODBC;针对的程序为 C
         动态SQL:程序设计语言使用函数(mysql_conect())或者方法与RDBMS服务器创建链接,并进行交互;经过创建链接向SQL服务器发送查询语句,并将结果保存至变量中然后进行处理。
        JDBC;针对的程序为 JAVA

MYSQL支持插件式存储引擎
mysql 5.5.8的以前的存储引擎是MyISAM,不支持事务。特别适合查询比较多可是修改比较少的场景。
mysql 5.5.8版本以后的存储引擎是InnoDB,   

表管理器:负责建立、读取或修改表定义文件;维护表描述高速缓存;管理表锁。
表结构定义文件。
表修改模块:表建立、删除、重命名、移除、更新或插入之类的操做
表维护模块:;检查、修改、备份、恢复、优化(碎片整理)及解析;

文件中记录组织:
堆文件组织:一条记录能够放在文件中的任何地方。
顺序文件组织:根据”搜索码“值顺序存放;
散列文件组织:spa

表结构定义文件;表数据文件
表空间:table space

数据字典:Data Dictionary;mysql初始化,即mysql的数据字典

关系的元数据:
                        关系的名字
                        字段的名字
                        字段的类型和长度
                        视图
                        约束

                        用户名字、受权、密码

缓冲区管理器:缓存置换策略:

相关文章
相关标签/搜索