***


1.        
	1.   :
		1.    (  ):
			*  :     
			*   :          ,            
		2.    (   ):
			*  :     
			*   :         ,            
		3.    :
			*  :     
			*   :             ,              
	2.     :
		1.    (   ):
			*  :     
			*     :         ,         。
		2.    :
			*  :     
			*     :                 。           ,              ,          
		3.    (  ):
			*  :     
			*     :       ,                     。

	3.   
		--           tab_category
		-- cid         ,    
		-- cname           ,  ,    100
		CREATE TABLE tab_category (
			cid INT PRIMARY KEY AUTO_INCREMENT,
			cname VARCHAR(100) NOT NULL UNIQUE
		);
		
		--         tab_route
		/*
		rid       ,    
		rname         ,  ,    100
		price   
		rdate     ,    
		cid   ,    
		*/
		CREATE TABLE tab_route(
			rid INT PRIMARY KEY AUTO_INCREMENT,
			rname VARCHAR(100) NOT NULL UNIQUE,
			price DOUBLE,
			rdate DATE,
			cid INT,
			FOREIGN KEY (cid) REFERENCES tab_category(cid)
		);
		
		/*      tab_user
		uid     ,   
		username       100,  ,  
		password      30,  
		name        100
		birthday   
		sex   ,      1
		telephone    ,    11
		email   ,      100
		*/
		CREATE TABLE tab_user (
			uid INT PRIMARY KEY AUTO_INCREMENT,
			username VARCHAR(100) UNIQUE NOT NULL,
			PASSWORD VARCHAR(30) NOT NULL,
			NAME VARCHAR(100),
			birthday DATE,
			sex CHAR(1) DEFAULT ' ',
			telephone VARCHAR(11),
			email VARCHAR(100)
		);
		
		/*
		      tab_favorite
		rid      id,  
		date     
		uid    id,  
		rid   uid     ,      ,                
		*/
		CREATE TABLE tab_favorite (
			rid INT, --   id
			DATE DATETIME,
			uid INT, --   id
			--       
			PRIMARY KEY(rid,uid), --     
			FOREIGN KEY (rid) REFERENCES tab_route(rid),
			FOREIGN KEY(uid) REFERENCES tab_user(uid)
		);

	
2.         
	*   :      ,         。          ,              

		        ,         ,            ,                 ,         ,            。
		            :    (1NF)、    (2NF)、    (3NF)、  -    (BCNF)、    (4NF)     (5NF,      )。

	*   :
		1.     (1NF):               
		2.     (2NF): 1NF    ,            ( 1NF                   )
			*     :
				1.     :A-->B,    A  (   )  ,      B    。  B   A
					  :  -->  。  (  ,    ) -->   
				2.       :A-->B,   A      , B           A          。
					  :(  ,    ) -->   
				3.       :A-->B,   A      , B            A          。
					  :(  ,    ) -- >   
				4.       :A-->B, B -- >C .     A  (   )  ,      B    ,   B  (   )        C    ,   C        A
					  :  -->  ,  -->   
				5.  :       ,        ,            ,      (   )     
					  :     :(  ,    )
					*    :          
					*     :         
					
		3.     (3NF): 2NF   ,                ( 2NF         )