Вы находитесь на странице: 1из 12

mysql day04���ñʼ�

1������index��

1.1��ʲô������
����������‫ �����ֶ� ���ݿ‬ӵģ���Ϊ����߲�ѯЧ�ʴ��‫�ڵ‬һ�ֻ��ơ�
һ�ű��һ���ֶο������һ������Ȼ������ֶ�������Ҳ�����������
�����൱��һ�����Ŀ¼����Ϊ����Сɨ�跶 Χ����‫�ڵ‬һ�ֻ��ơ�

����һ���ֵ��˵������ij��������ַ�ʽ��
��һ�ַ�ʽ��һҳһҳ�����ң�ֱ���ҵ�Ϊֹ�����ֲ��ҷ�ʽ����ȫ�ֵ�ɨ�衣
Ч�ʱȽϵ͡�
�‫�ַ��ڶ‬ʽ����ͨ��Ŀ¼������ȥ��λһ���ŵ�λ�ã�Ȼ��ֱ�Ӷ�λ�����
λ�ã��������ɨ�裬� � Сɨ��ķ�Χ�����‫ٵ‬IJ��ҡ����ֲ��ҷ�ʽ����ͨ
��
�������Ч�ʽϸߡ�

t_user
id(idIndex) name(nameIndex) email(emailIndex) address
(emailAddressIndex)
-----------------------------------------------------------------------------
-----
1 zhangsan...
2 lisi
3 wangwu
4 zhaoliu
5 hanmeimei
6 jack

select * from t_user where name = 'jack';

���ϵ�����SQL����ȥname�ֶ���ɨ�裬 Ϊʲô��
��Ϊ��ѯ���ǣ�name='jack'

���name�ֶ���û���������Ŀ¼��������˵û�и�name�ֶδ�������
MySQL�����ȫɨ�裬� Ὣname�ֶ��ϵ�ÿһ��ֵ���ȶ�һ�顣 Ч�ʱȽϵ͡�

MySQL�‫�ڲ‬ѯ������Ҫ������ַ�ʽ��
��һ�ַ�ʽ��ȫ��ɨ��
�‫�ַ��ڶ‬ʽ������������

‫�ע‬⣺
��ʵ���У������ֵ�ǰ���Ŀ¼������ģ�����a b c d e f....����
Ϊʲô�����‫���أ‬Ϊֻ�������˲Ż�����������һ˵������Сɨ�跶 Χ
��ʵ����ɨ��ij�������ˣ���

��mysql��‫������⵱ݿ‬Ҳ����Ҫ����ģ�����������Ե������TreeSet
��‫ݽ‬ṹ��ͬ��
TreeSet ��TreeMap ���
‫���ײ‬һ����ƽ��Ķ�������mysql
����������һ��B-Tree��‫ݽ‬ṹ��

��ѭ��С�ִ�ԭ���š������������ʽ����ȡ��‫�ݡ‬

1.2�������ʵ��ԭ��

������һ���û���t_user

id(PK) name
ÿһ�м�¼��Ӳ���϶�������洢� � �
-----------------------------------------------------------------------------
-----
100 zhangsan 0x1111
120 lisi 0x2222
99 wangwu
0x8888
88 zhaoliu
0x9999
101 jack 0x6666
55 lucy
0x5555
130 tom 0x7777

����1�����κ���‫����϶������⵱ݿ‬Զ�����������id�ֶ����Զ�������
��Ϊid��PK��������mysql���У�һ���ֶ��������uniqueԼ��Ļ���Ҳ���Զ�
�����������

����2�����κ���‫�⵱ݿ‬У��κ�һ�ű���κ�һ���¼��Ӳ�̴
洢 �϶���
һ��Ӳ�̵�����
洢 ��š�

����3����mysql���У�������һ���Ķ���ͬ�
󣬲�ͬ�Ĵ 洢����� Բ�ͬ����
ʽ
���‫���ڣ‬MyISAM�洢����� У�����洢��һ��.MYI�ļ��С���InnoDB�洢������
����洢��һ���߼���ƽ���tablespace�ĵ��С���MEMORY�洢 ���浱 ������
���洢��� ‫ڴ‬浱�С���������洢����������������� mysql���ж���һ�������ʽ
���‫�����ڡ‬ƽ������B-Tree��

1.3����mysql���У�����ϣ��Լ�unique�ֶ��϶����Զ��������ģ�������
ʲô���£����ǻῼ�Ǹ��ֶ���������‫�أ‬
��1�������Ӵ󣨵����ж�ô�Ӵ����Ӵ������Ҫ���ԣ
ԣ ���Ϊÿһ��Ӳ��������ͬ��
��2�����ֶξ���������where�ĺ��棬��������ʽ���‫�ڣ‬Ҳ����˵����ֶ����DZ�ɨ�衣
��3�����ֶκ��‫�ٵ‬DML(insert delete update)�������ΪDML֮��������Ҫ��������
򡣣�

���鲻 Ҫ�������������Ϊ����Ҳ����Ҫά���ģ�̫��
Ļ �����
ή ��ϵͳ �����
‫�ܡ‬
����ͨ
������ѯ������ͨ
��uniqueԼ����ֶν��в�ѯ��Ч���DZȽϸߵġ�

1.4��������ô��������ôɾ���� �� ʲô��

��������
mysql> create index emp_ename_index on emp(ename);
��emp���ename�ֶ������������emp_ename_index

ɾ������
mysql> drop index emp_ename_index on emp;
��emp���ϵ�emp_ename_index�������ɾ��

1.5����mysql���У���ô�鿴 һ��SQL����Ƿ�ʹ����������м���

mysql> explain select * from emp where ename = 'KING';


+----+-------------+-------+------+---------------+------+---------+------
+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref |
rows | Extra |
+----+-------------+-------+------+---------------+------+---------+------
+------+-------------+
| 1 | SIMPLE | emp | ALL | NULL | NULL | NULL | NULL |
14 | Using where |
+----+-------------+-------+------+---------------+------+---------+------
+------+-------------+
ɨ��14���¼��˵��û��ʹ������type=ALL

mysql> create index emp_ename_index on emp(ename);

mysql> explain select * from emp where ename = 'KING';


+----+-------------+-------+------+-----------------+-----------------
+---------+-------+------+-------------+
| id | select_type | table | type | possible_keys | key |
key_len | ref | rows | Extra |
+----+-------------+-------+------+-----------------+-----------------
+---------+-------+------+-------------+
| 1 | SIMPLE | emp | ref | emp_ename_index | emp_ename_index | 33
| const | 1 | Using where |
+----+-------------+-------+------+-----------------+-----------------
+---------+-------+------+-------------+

1.6��������ʧЧ��ʱ��ʲôʱ������ʧЧ�‫�أ‬

ʧЧ�ĵ�1�����
select * from emp where ename like '%T';

ename�ϼ�ʹ���������Ҳ����������Ϊʲô��
ԭ������Ϊģ��ƥ�䵱���ԡ�%����ͷ�ˣ�
�������ģ���ѯ��ʱ���ԡ�%����ʼ��
����һ���Ż����ֶ�/���ԡ�

mysql> explain select * from emp where ename like '%T';


+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len |
ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| 1 | SIMPLE | emp | ALL | NULL | NULL | NULL |
NULL | 14 | Using where |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+

ʧЧ�ĵ�2�����
ʹ��or��ʱ���ʧЧ�����ʹ��or��ôҪ��or��ߵ����ֶζ�Ҫ��
����Ż��������������һ����һ���ֶ�û��������ô��һ��
�ֶ��ϵ�����Ҳ��ʵ�֡ ����������� Ϊʲô������ʹ��or��ԭ��

mysql> explain select * from emp where ename = 'KING' or job =


'MANAGER';
+----+-------------+-------+------+-----------------+------+---------
+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len |
ref | rows | Extra |
+----+-------------+-------+------+-----------------+------+---------
+------+------+-------------+
| 1 | SIMPLE | emp | ALL | emp_ename_index | NULL | NULL |
NULL | 14 | Using where |
+----+-------------+-------+------+-----------------+------+---------
+------+------+-------------+

ʧЧ�ĵ�3�����
ʹ�ø��������ʱ��û��ʹ�������в��ң�����ʧЧ
ʲô�Ǹ�������
����ֶΣ����߸����ֶ����������һ��������������

create index emp_job_sal_index on emp(job,sal);

mysql> explain select * from emp where job = 'MANAGER';


+----+-------------+-------+------+-------------------
+-------------------+---------+-------+------+-------------+
| id | select_type | table | type | possible_keys | key
| key_len | ref | rows | Extra |
+----+-------------+-------+------+-------------------
+-------------------+---------+-------+------+-------------+
| 1 | SIMPLE | emp | ref | emp_job_sal_index |
emp_job_sal_index | 30 | const | 3 | Using where |
+----+-------------+-------+------+-------------------
+-------------------+---------+-------+------+-------------+

mysql> explain select * from emp where sal = 800;


+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len |
ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| 1 | SIMPLE | emp | ALL | NULL | NULL | NULL |
NULL | 14 | Using where |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+

ʧЧ�ĵ�4�����
��where���������вμ������㣬����ʧЧ��
mysql> create index emp_sal_index on emp(sal);

explain select * from emp where sal = 800;


+----+-------------+-------+------+---------------+---------------
+---------+-------+------+-------------+
| id | select_type | table | type | possible_keys | key |
key_len | ref | rows | Extra |
+----+-------------+-------+------+---------------+---------------
+---------+-------+------+-------------+
| 1 | SIMPLE | emp | ref | emp_sal_index | emp_sal_index | 9
| const | 1 | Using where |
+----+-------------+-------+------+---------------+---------------
+---------+-------+------+-------------+

mysql> explain select * from emp where sal+1 = 800;


+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len |
ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| 1 | SIMPLE | emp | ALL | NULL | NULL | NULL |
NULL | 14 | Using where |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+

ʧЧ�ĵ�5�����
��where����������ʹ���˺���
explain select * from emp where lower(ename) = 'smith';
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len |
ref | rows | Extra |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+
| 1 | SIMPLE | emp | ALL | NULL | NULL | NULL |
NULL | 14 | Using where |
+----+-------------+-------+------+---------------+------+---------
+------+------+-------------+

ʧЧ�ĵ�6...
ʧЧ�ĵ�7...

1.7�������Ǹ�����‫�����ݿ‬Ż�����Ҫ�ֶΡ��Ż���ʱ�����ȿ��ǵ����‫�������ؾ‬
��������‫�⵱ݿ‬з��˺�
ࣿܶ � ࣿ

��һ����һ���ֶ����������
������������ֶλ��߸����ֶ����������

�������������������
Ψһ���������uniqueԼ����ֶ����������
.....

‫�ע‬⣺Ψһ�ԱȽ�����ֶ�����������ô�����

2����ͼ(view)

2.1��ʲô����ͼ��
view:վ�‫��ͬ�ڲ‬ĽǶ�ȥ����ͬ
һ ����
‫�ݡ‬

2.2����ô������ͼ������ôɾ����ͼ����

���ƣ�
mysql> create table dept2 as select * from dept;

dept2���е���‫�ݣ‬
mysql> select * from dept2;
+--------+------------+----------+
| DEPTNO | DNAME | LOC |
+--------+------------+----------+
| 10 | ACCOUNTING | NEW YORK |
| 20 | RESEARCH | DALLAS |
| 30 | SALES | CHICAGO |
| 40 | OPERATIONS | BOSTON |
+--------+------------+----------+

������ͼ����
create view dept2_view as select * from dept2;

ɾ����ͼ����
drop view dept2_view;

‫�ע‬⣺ֻ��DQL��������view����ʽ������
create view view_name as �������������DQL���;

2.3������ͼ��ʲô��

���ǿ���������ͼ���������ɾ�IJ 飬����ͼ�������ɾ�IJ 飬�ᵼ��


ԭ���������ͼ���‫ͨص‬

ͨ � ��� ͼ�IJ����Ӱ�쵽 ԭ����‫���ݡ‬

//������ͼ��ѯ
select * from dept2_view;

// ������ͼ����
insert into dept2_view(deptno,dname,loc) values(60,'SALES', 'BEIJING');

// ��ѯԭ�����
mysql> select * from dept2;
+--------+------------+----------+
| DEPTNO | DNAME | LOC |
+--------+------------+----------+
| 10 | ACCOUNTING | NEW YORK |
| 20 | RESEARCH | DALLAS |
| 30 | SALES | CHICAGO |
| 40 | OPERATIONS | BOSTON |
| 60 | SALES | BEIJING |
+--------+------------+----------+

// ������ͼɾ��
mysql> delete from dept2_view;

// ��ѯԭ�����
mysql> select * from dept2;
Empty set (0.00 sec)

// ������ͼ����
create view
emp_dept_view
as
select
e.ename,e.sal,d.dname
from
emp e
join
dept d
on
e.deptno = d.deptno;

// ��ѯ��ͼ����
mysql> select * from emp_dept_view;
+--------+---------+------------+
| ename | sal | dname |
+--------+---------+------------+
| CLARK | 2450.00 | ACCOUNTING |
| KING | 5000.00 | ACCOUNTING |
| MILLER | 1300.00 | ACCOUNTING |
| SMITH | 800.00 | RESEARCH |
| JONES | 2975.00 | RESEARCH |
| SCOTT | 3000.00 | RESEARCH |
| ADAMS | 1100.00 | RESEARCH |
| FORD | 3000.00 | RESEARCH |
| ALLEN | 1600.00 | SALES |
| WARD | 1250.00 | SALES |
| MARTIN | 1250.00 | SALES |
| BLAKE | 2850.00 | SALES |
| TURNER | 1500.00 | SALES |
| JAMES | 950.00 | SALES |
+--------+---------+------------+

// ������ͼ����
update emp_dept_view set sal = 1000 where dname = 'ACCOUNTING';

// ԭ����‫�����ݱ‬
mysql> select * from emp;
+-------+--------+-----------+------+------------+---------+---------
+--------+
| EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO
|
+-------+--------+-----------+------+------------+---------+---------
+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800.00 | NULL | 20
|
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600.00 | 300.00 | 30
|
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250.00 | 500.00 | 30
|
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975.00 | NULL | 20
|
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 | 30
|
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850.00 | NULL | 30
|
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 1000.00 | NULL | 10
|
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000.00 | NULL | 20
|
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 1000.00 | NULL | 10
|
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500.00 | 0.00 | 30
|
| 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100.00 | NULL | 20
|
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950.00 | NULL | 30
|
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000.00 | NULL | 20
|
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1000.00 | NULL | 10
|
+-------+--------+-----------+------+------------+---------+---------
+--------+

2.4����ͼ������ʵ�ʿ����е�����ʲô�ã������㣬����������
򻯿��������� ά����

create view
emp_dept_view
as
select
e.ename,e.sal,d.dname
from
emp e
join
dept d
on
e.deptno = d.deptno;
������һ��dz����ӵ�SQL��䣬������SQL�����Ҫ�‫���ͬ�ڲ‬λ���Ϸ���ʹ�á�
ÿһ��ʹ�����sql����ʱ����Ҫ���±�д���ܳ������� 鷳����ô�죿
���������
԰�ӵ �SQL������ ͼ�������ʽ�½���
����Ҫ��д����SQL����λ��ֱ��ʹ����ͼ�����Դ�������
󣬿��Դ��򻯿�����
�������‫�ں��ڵ‬ά������Ϊ�޸ĵ�ʱ��Ҳֻ��Ҫ�޸�һ��λ�þ��У�ֻ��Ҫ
�޸���ͼ������ӳ���SQL��䡣

�����Ժ�������ͼ������ʱ��ʹ����ͼ��ʱ�������ʹ��tableһ��
���Զ���ͼ������ɾ�IJ�Ȳ�����ͼ�������‫ڴ‬浱�У���ͼ����Ҳ��
�洢��Ӳ���ϵģ�������ʧ��

������һ�£�
��ͼ��Ӧ�����ֻ����DQL��䡣
������ͼ������
󴴽���� ����
֮ 󣬿� � Զ���ͼ������ɾ�IJ�Ȳ���

����
��ɾ�IJ 飬�ֽ���CRUD��ͨ
CRUD���‫�˾�ڹ‬г���Ա֮�ͨ乵�����һ�����Ǻ���˵��ɾ�IJ 顣
һ�㶼˵CRUD��

C:Create����
R:Retrive���飺����
U:Update���ģ�
D:Delete��ɾ��

3��DBA�������

�‫����ص‬գ�
��‫ݵ‬ĵ��������‫ݵ‬ı��‫�ݣ‬
͵
���������˽�һ�¼��ɡ��������ѵ��‫�־‬ĵ����ţ��Ժ����ˣ����Դ��ĵ�����ճ��

��‫���ݵ‬
‫�ע‬⣺��windows��dos������ �У�
mysqldump bjpowernode>D:\bjpowernode.sql -uroot -p123456

���Ե���ָ���ı���
mysqldump bjpowernode emp>D:\bjpowernode.sql -uroot -p123456

��‫��ݵ‬룿
‫�ע‬⣺��Ҫ�ȵ�¼��mysql��‫������ݿ‬ϡ�
Ȼ����
󴴽���‫ݿ‬⣺create database bjpowernode;
ʹ����‫ݿ‬⣺use bjpowernode
Ȼ���ʼ����‫ݿ‬⣺source D:\bjpowernode.sql

4����‫������ݿ‬ʽ

4.1��ʲô����‫���ݿ‬Ʒ�ʽ��
��‫�������ݿ��������ݡ‬ô������‫�����ݿ‬ơ�

4.2����‫���ݿ‬Ʒ�ʽ���У�
3��
��һ��ʽ��Ҫ���κ�һ�ű���������ÿһ���ֶ�ԭ���Բ����֡‫�ٷ‬

�‫���ڶ‬ʽ������‫�ڵ‬һ��ʽ�Ļ�֮�� ϣ�Ҫ�����з�����ֶ���ȫ������
��Ҫ����������

����ʽ������‫���ڵڶ‬ʽ�Ļ�֮�� ϣ�Ҫ�����з�����ֶ�ֱ��������
��Ҫ����������

������ʽ�����Թ‫����پ‬ʵģ�����һ��Ҫ������ģ�

�����‫���ݿ‬ʱ�������
򣬰�ϵķ �ʽ�� У����Ա��������‫�����ݵ‬
࣬ ࣬ ռ���˷ѡ�

4.3����һ��ʽ
����ģ�����Ҫ�ķ�ʽ�����б����ƶ���Ҫ���㡣
�����������ÿһ���ֶζ���ԭ���Բ����֡‫�ٷ‬

ѧ���� ѧ������ �ϵ��ʽ


------------------------------------------
1001 ���� zs@gmail.com,1359999999
1002 ���� ls@gmail.com,13699999999
1001 ���� ww@163.net,13488888888

������ѧ��������һ��ʽ��
�����㣬��һ��û�����‫����ڶ‬ϵ��ʽ���Է�Ϊ�����ַ�͵绰

ѧ����(pk) ѧ������ �����ַ �ϵ�绰


----------------------------------------------------
1001 ���� zs@gmail.com 1359999999
1002 ���� ls@gmail.com 13699999999
1003 ���� ww@163.net 13488888888

4.4���‫���ڶ‬ʽ��
����‫�ڵ‬һ��ʽ�Ļ�֮�� ϣ�
Ҫ�����з�����ֶα�����ȫ������Ҫ����������

ѧ���� ѧ������ ��ʦ��� ��ʦ����


----------------------------------------------------
1001 ���� 001 ����ʦ
1002 ���� 002 ����ʦ
1003 ���� 001 ����ʦ
1001 ���� 002 ����ʦ

���ű�������ѧ�����ʦ�Ĺ�ϵ����1��ѧ������ж����ʦ��1����ʦ�ж��ѧ��
���Ƿdz����͵ģ���Զ��ϵ��

�������ϵı��Ƿ������һ��ʽ��
�������һ��ʽ��

��ô�����һ��ʽ�޸��‫�أ‬

ѧ����+��ʦ���(pk) ѧ������ ��ʦ����


----------------------------------------------------
1001 001 ���� ����ʦ
1002 002 ���� ����ʦ
1003 001 ���� ����ʦ
1001 002 ���� ����ʦ

ѧ���� ��ʦ��ţ�����ֶ�������������PK: ѧ����+��ʦ��ţ�


�����޸�֮������ ϵı������˵�һ��ʽ����������‫���ڶ‬ʽ��
�����㣬���������1001��������ʦ�����001����Ȼ�����˲��������
����������ʲôȱ�㣿
��������ˡ��ռ��˷��ˡ��������‫��ظ‬ˣ�������ʦ���‫��ظ‬ˡ�

Ϊ�������ϵı�����‫���ڶ‬ʽ������Ҫ������ƣ�
ʹ�����ű����ʾ��Զ�Ĺ�ϵ��������
ѧ���
ѧ����(pk) ѧ������
------------------------------------
1001 ����
1002 ����
1003 ����

��ʦ��
��ʦ���(pk) ��ʦ����
--------------------------------------
001 ����ʦ
002 ����ʦ

ѧ���ʦ��ϵ��
id(pk) ѧ����(fk) ��ʦ���(fk)
------------------------------------------------------
1 1001
001
2 1002
002
3 1003
001
4 1001
002

���‫�ھ‬
��Զ���ô��ƣ�
��Զ � ��
࣬ ű���ϵ���������������������������������

4.5������ʽ
����ʽ����‫���ڵڶ‬ʽ�Ļ�֮���
Ҫ�����з�����ֵ����ֱ��������Ҫ����������

ѧ���ţ�PK�� ѧ������ �༶��� �༶���


---------------------------------------------------------
1001 ���� 01 һ��һ��
1002 ���� 02 һ����
1003 ���� 03 һ�����
1004 ���� 03 һ�����

���ϱ�����������༶��ѧ��Ĺ�ϵ������Ȼ��1�Զ��ϵ��
һ��������ж��ѧ��

�������ϱ��Ƿ������һ��ʽ��
�����һ��ʽ�������

�������ϱ��Ƿ�����‫���ڶ‬ʽ��
����‫���ڶ‬ʽ����Ϊ����Ǹ������û�в�������������ǵ�һ���

�������ϱ��Ƿ��������ʽ��
����ʽҪ���
󣺲 Ҫ���������
һ��һ�����01��01���1001�������˴��������
����ϵ���ʽ��Ҫ��������
󡣲�������ࡣ����‫ݵ‬

��ôӦ����ô���һ�Զ��‫�أ‬

�༶��һ
�༶���(pk) �༶���
----------------------------------------
01 һ��һ��
02 һ����
03 һ�����

ѧ�����

ѧ���ţ�PK�� ѧ������ �༶���(fk)


-------------------------------------------
1001 ���� 01
1002 ���� 02
1003 ���� 03
1004 ���� 03

���‫�ھ‬
һ�Զ࣬� � ű���ı������������������������

4.6���ܽ������ƣ�

һ�Զࣺ
һ�Զ࣬� � ű���ı������������������������

��Զࣺ
��Զ࣬� �� ű���ϵ���������������������������������

һ��һ��
һ��һ�ŵ�һ�ű��в���������Ϊɶ��Ҫ��ֱ�
��ʵ�ʵĿ����У����ܴ���� һ�ű��ֶ ࣬ ࣬ �� Ӵ����ʱ��Ҫ��ֱ�
һ��һ��ô��ƣ�
û�в�ֱǰ��һ�ű�
t_user
id login_name login_pwd real_name
email address........
-----------------------------------------------------------
----------------
1 zhangsan 123
���� zhangsan@xxx
2 lisi 123
���� lisi@xxx
...

�����Ӵ�ı�����Ϊ��ţ�
t_login ��¼��Ϣ��
id(pk) login_name login_pwd
---------------------------------
1 zhangsan 123
2 lisi 123

t_user �û���ϸ��Ϣ��
id(pk) real_name email
address........ login_id(fk+unique)
-----------------------------------------------------------
------------------------------
100 ���� zhangsan@xxx
1
200 ���� lisi@xxx
2
�‫�ھ‬һ��һ�����Ψһ��������������������

4.7�����һ�仰��

��‫������ݿ‬ʽ�������ϵġ�

ʵ��������е�ʱ����ƫ�

���յ�Ŀ�Ķ���Ϊ������ͻ��������е�ʱ��������໻ִ���‫ٶ‬ȡ�

��Ϊ��sql���У���ͱ�֮����� Ӵ���Խ�
�࣬Ч��Խ�͡����ѿ����

�е�ʱ����ܻ������������
� ࣬�
�� � � Ϊ�˼��‫����ٱ‬Ӵ���������Ҳ�Ǻ���ģ�
���Ҷ��‫�����ڿ‬Ա�˵��sql���ı�д�Ѷ�Ҳ�ή�͡�

���Ե�ʱ�����仰˵�ϣ���Ͳ�����Ϊ���dz����Ա�ˣ�

Вам также может понравиться