亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? catalog.h

?? 實現一個精簡型單用戶SQL引擎(DBMS)MiniSQL
?? H
字號:
#ifndef CATALOG_H
#define	CATALOG_H

#include "Glob_Var.h"
#include "Intepretor.h"
#include "buffer.h"
#define MAX_CHAR_LEN  256
#define NAME_LENGTH  33

#define Update_Condition TSelect_Condition
#define Delete_Condition TSelect_Condition


//------------------------存放形式
//------------------------第一位置放關于表的信息--Table_Info
//------------------------下面順序存放各個字段信息
//------------------------每個約束條件連接到相應的字段上


//字段約束條件中的值的形式----------------------------------
union Limit_Value
{
    int   			IntValue;					//整形值
    char 			CharValue[MAX_CHAR_LEN];	//字符串 
    float 			FloatValue;					//浮點型值
};   	


//字段上的約束條件--------------------------------------
typedef struct TConstraint_Info
{
	Operator_Type	OperType;					// >  >=  <  <=  =  !=  between…and…
    Limit_Value		min;						//下限
    Limit_Value		max;						//上限
}Constraint_Info;	


//字段信息--------------------------------------
typedef struct TColumn_Info
{
    int				ID;							//按用戶輸入的順序所規定的ID
	char    		ColumnName[NAME_LENGTH];	//字段名(限定最長為32位)
    int				IsPrimary;					//是否主鍵的標志:1-是;0-否
    int 			IsNull;						//是否可以為空:1-是;0-否
	Column_Type		ColType;					//字段類型-int,char,float
    int				RequiredLength;				//用戶要求字段長度
	int				StoredLength;				//實際存儲長度			
	union{
		TColumn_Info*		next;				//下一個字段的內存指針
		_F_FileAddr 			FileNext;			//下一個字段的文件指針
	}ColumnPtr;
	union{
		Constraint_Info*	constraint;			//指向此字段上的約束條件的內存指針
		_F_FileAddr 			FileConstraint;		//指向此字段上的約束條件的文件指針
	}ConstraintPtr;
}Column_Info;


//表信息--------------------------------------
typedef struct TTable_Info
{
    TTable_Info();
	char   	 		TableName[NAME_LENGTH];		//表名(限定最長為32位)
    int	    		TotalColumn;				//總字段數
    int 			RecordLength;				//每個記錄長度
	int	    		KeyAttrNum;					//多屬性主鍵中屬性個數
	union{
		Column_Info*    	Key;				//指向主鍵的內存指針
		_F_FileAddr 			FileKey;			//指向主鍵的文件指針
	}KeyPtr;
}Table_Info;

//----------------------------------------------------------------------------------------------
class HCatalog
{						
public:
    //HCatalog();
    
    void Create(TB_Create_Info&,char*);			//表的創建(int為index所要的主鍵屬性個數)
    
    void Select(TB_Select_Info&,				//查詢(Interpreter給出TB_Create_Info&,
                Condition_Info&,				//		Condition_Info&給Index
                Select_Rec_Info&);				//      Select_Rec_Info&給Record)

    void Insert(TB_Insert_Info&,				//插入(Interpreter給出TB_Insert_Info&,
    			Key_Attr&,						//      pKey_Attr給Index,
    			Rec_Info&);						//		Record_Info&給Record)
    
    void Update(TB_Update_Info&,				//更新(Interpreter給出TB_Update_Info&,
    			Condition_Info&,				//		Condion_Info&給Index,
    			Rec_Info&);						//		Rec_Info&給Record)
    
    void Delete(TB_Delete_Info&,				//刪除(Interpreter給出TB_Delete_Info&,
    		    Condition_Info&);				//		Condition_Info給Index)

     //~HCatalog();
private:
	
	Column_Info* Find_Column(char* ) const;		//查找并定位字段信息
    
	bool Exist_Column(char*) const; 			//檢查字段是否已存在
	
    bool Check_Key(Column_Info*) const;			//檢查是否是主鍵

	bool Check_Type(Column_Info*,Column_Type) const;			//檢查類型是否匹配
    
	bool Check_Value(Column_Info*,Column_Value*) const;			//檢查插入或更新值是否滿足約束條件	
	
	bool Check_Length(Column_Info*,Column_Value*) const;		//檢查char型值的長度是否有效

	bool Check_Key_Validation(Column_Type, Column_Value*, Column_Value*) const;   //檢查key的有效性
  
    Column_Info* Form_ListNode(Create_Column*,int) const;	    //形成一個字段鏈表節點
	 
};


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区成人| 精品视频一区二区不卡| 天天影视网天天综合色在线播放| 国产精品天干天干在观线| www久久久久| 久久久久青草大香线综合精品| 欧美一区二区在线视频| 91精品国产黑色紧身裤美女| 精品视频一区二区三区免费| 欧美日韩视频在线观看一区二区三区| 欧美性大战久久| 欧美日韩在线观看一区二区 | 日韩女优av电影| 欧美肥大bbwbbw高潮| 91精品欧美福利在线观看| 日韩西西人体444www| 久久精品一区二区三区不卡| 国产精品每日更新| 亚洲午夜免费电影| 日韩电影在线观看网站| 国产精品亚洲午夜一区二区三区 | 欧美精品在线视频| 精品国产一区二区国模嫣然| 亚洲人成在线观看一区二区| 亚洲摸摸操操av| 奇米影视一区二区三区小说| 极品瑜伽女神91| 成人av资源下载| 欧美人伦禁忌dvd放荡欲情| 精品日产卡一卡二卡麻豆| 久久精品人人做人人综合| 亚洲综合免费观看高清在线观看| 午夜精品123| 成人国产精品视频| 欧美精品久久久久久久久老牛影院| 欧美大片一区二区三区| 综合在线观看色| 久久99精品久久久久久国产越南| 成人av网站免费观看| 91精品国产一区二区三区香蕉| 久久久午夜精品| 午夜一区二区三区视频| 成人福利视频在线| 欧美一区二区三区视频在线观看| 中文字幕色av一区二区三区| 麻豆一区二区在线| 日本精品视频一区二区三区| 久久精品网站免费观看| 日韩国产一二三区| 色综合亚洲欧洲| 久久精品人人做| 午夜精品久久久久久久久| 99国产精品久久久久久久久久久 | 亚洲女子a中天字幕| 国产综合久久久久久久久久久久| 欧美日韩一区二区欧美激情| 国产精品久久久久国产精品日日| 韩国女主播成人在线观看| 欧美美女直播网站| 亚洲精品日韩专区silk| 成人精品一区二区三区中文字幕| 精品欧美乱码久久久久久1区2区| 亚洲国产日韩综合久久精品| 99国产精品久| 亚洲图片你懂的| av在线不卡免费看| 国产欧美日韩卡一| 国产成人午夜99999| 欧美白人最猛性xxxxx69交| 日本不卡视频一二三区| 91精品久久久久久蜜臀| 日本欧美久久久久免费播放网| 欧美日韩大陆在线| 日韩精品免费专区| 欧美高清dvd| 日本欧美一区二区在线观看| 欧美日韩国产乱码电影| 婷婷开心久久网| 91精品国产aⅴ一区二区| 福利电影一区二区| 国产色婷婷亚洲99精品小说| 国产一区二区三区不卡在线观看 | 日韩毛片精品高清免费| 91视频国产观看| 一区二区三区在线观看网站| 色老汉av一区二区三区| 午夜一区二区三区视频| 欧美一三区三区四区免费在线看 | 91免费看视频| 亚洲欧美另类小说视频| 欧美在线观看禁18| 石原莉奈在线亚洲三区| 精品乱码亚洲一区二区不卡| 国产成人免费在线| 中文字幕日韩av资源站| 欧美午夜精品一区二区蜜桃| 丝袜美腿亚洲一区二区图片| 欧美大片国产精品| jlzzjlzz亚洲日本少妇| 一区二区三区不卡视频| 91麻豆精品国产91久久久久久 | 欧美在线观看视频在线| 美女网站一区二区| 1区2区3区欧美| 欧美日韩在线观看一区二区| 久久99这里只有精品| 国产精品第一页第二页第三页| 欧美亚洲高清一区二区三区不卡| 石原莉奈一区二区三区在线观看 | 成人av在线网| 亚洲国产美国国产综合一区二区| 91精品国产乱码久久蜜臀| 成人精品视频网站| 日本美女一区二区三区| 亚洲欧美中日韩| 日韩丝袜美女视频| 色婷婷亚洲精品| 国产美女在线精品| 日产欧产美韩系列久久99| 国产精品国产三级国产普通话蜜臀 | 不卡高清视频专区| 日韩经典中文字幕一区| 中文字幕亚洲欧美在线不卡| 欧美一级片在线看| 色狠狠综合天天综合综合| 国产精品一区二区三区乱码| 日韩中文字幕亚洲一区二区va在线| 日本一区二区三区四区在线视频| 中文在线一区二区| 欧美午夜一区二区三区免费大片| 国产不卡免费视频| 日本免费新一区视频| 亚洲专区一二三| 国产精品入口麻豆九色| 久久精品无码一区二区三区| 日韩一区二区免费电影| 欧美三级电影在线看| 99久久精品国产精品久久| 国产原创一区二区| 精品一区二区三区av| 日韩高清不卡在线| 午夜免费久久看| 亚洲第四色夜色| 亚洲在线免费播放| 亚洲综合成人网| 一级女性全黄久久生活片免费| 亚洲欧洲精品一区二区三区 | 欧美一区三区二区| 欧美伦理视频网站| 337p亚洲精品色噜噜狠狠| 欧美日韩精品免费| 欧美一区二区三区性视频| 欧美一区国产二区| 精品美女一区二区| 久久久久久电影| 国产欧美一区二区精品秋霞影院 | 国产精品123区| 国产在线精品一区二区夜色 | 在线中文字幕不卡| 91国产丝袜在线播放| 欧美色涩在线第一页| 欧美曰成人黄网| 欧美日韩的一区二区| 日韩一级二级三级精品视频| 精品国产青草久久久久福利| 久久综合九色综合97婷婷| 久久久99免费| 亚洲天堂中文字幕| 日日夜夜精品视频免费| 麻豆国产欧美日韩综合精品二区 | 成人av电影在线播放| 91色综合久久久久婷婷| 欧美日韩aaaaaa| 日韩精品一区二区在线| 国产三级精品在线| 一个色在线综合| 久久97超碰国产精品超碰| 成人毛片视频在线观看| 欧美亚洲尤物久久| 精品国产a毛片| 亚洲免费在线观看视频| 男人的天堂久久精品| 成人av集中营| 欧美浪妇xxxx高跟鞋交| 久久久亚洲高清| 亚洲va韩国va欧美va| 国产麻豆视频精品| 欧美婷婷六月丁香综合色| 久久综合狠狠综合久久综合88| 国产精品久久久久久久岛一牛影视| 亚洲va欧美va国产va天堂影院| 国产一区二区成人久久免费影院 | 国产欧美一区二区三区沐欲| 亚洲精品国产a| 久久99精品久久久| 91传媒视频在线播放| 久久久99精品久久| 亚洲韩国精品一区| 99久久国产综合色|国产精品| 91精品免费在线|