├── DBMS.ncb ├── DBMS.opt ├── drop.cpp ├── README.md ├── create.cpp ├── delete.cpp ├── insert.cpp ├── main.h ├── select.cpp ├── update.cpp ├── working.cpp ├── 测试与使用说明.txt ├── drop.h ├── update.h ├── create.h ├── insert.h ├── delete.h ├── DBMS.plg ├── working.h ├── select.h ├── .gitattributes ├── zhiduan.h ├── DBMS.dsw ├── copar.h ├── compar.h ├── comparup.h ├── .gitignore ├── main.cpp └── DBMS.dsp /DBMS.ncb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/DBMS.ncb -------------------------------------------------------------------------------- /DBMS.opt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/DBMS.opt -------------------------------------------------------------------------------- /drop.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/drop.cpp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | DBMS 2 | ==== 3 | 4 | 一个小型数据库 DBMS 5 | 用C++开发,能实现增删改查等基本功能 6 | -------------------------------------------------------------------------------- /create.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/create.cpp -------------------------------------------------------------------------------- /delete.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/delete.cpp -------------------------------------------------------------------------------- /insert.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/insert.cpp -------------------------------------------------------------------------------- /main.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; -------------------------------------------------------------------------------- /select.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/select.cpp -------------------------------------------------------------------------------- /update.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/update.cpp -------------------------------------------------------------------------------- /working.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/working.cpp -------------------------------------------------------------------------------- /测试与使用说明.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liupengs/DBMS/HEAD/测试与使用说明.txt -------------------------------------------------------------------------------- /drop.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | void drop(string *s); 6 | int find(string s,int *ex); 7 | void delete_ta(int *ex); 8 | -------------------------------------------------------------------------------- /update.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | void updata(string *s); 5 | void get_date(string *str,int *ex); 6 | void change_s_c(string s,char *c); 7 | void change_date(int *ex,string *str); 8 | -------------------------------------------------------------------------------- /create.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | void create_db(string *s); 6 | void create_ta(string *s); 7 | string analysis_ta(string *s); 8 | int look_ta(); 9 | bool find_cr(string s); -------------------------------------------------------------------------------- /insert.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | void insert(string *s); 6 | void savadata(char *str,int lenth,string *s,int ex); 7 | void analysis_in (string *s,int lenth,string *str); 8 | -------------------------------------------------------------------------------- /delete.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | void delete_sql( string *s); 5 | int analysis_se(string *s,string *condition); 6 | int find_ta(string ch,int *ex); 7 | void change(string s,char *c); 8 | void move(int *ex,string *str); 9 | -------------------------------------------------------------------------------- /DBMS.plg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
 4 | 

Build Log

5 |

6 | --------------------Configuration: DBMS - Win32 Debug-------------------- 7 |

8 |

Command Lines

9 | 10 | 11 | 12 |

Results

13 | DBMS.exe - 0 error(s), 0 warning(s) 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /working.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include"create.h" 4 | #include"insert.h" 5 | #include"select.h" 6 | #include"delete.h" 7 | #include"update.h" 8 | #include"drop.h" 9 | using namespace std; 10 | void wdelete(string *s); 11 | void winsert(string *s); 12 | void wupdate(string *s); 13 | void wselect(string *s); 14 | void wcreate(string *s); 15 | void wdrop(string *s); 16 | 17 | void look(); 18 | -------------------------------------------------------------------------------- /select.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include"zhiduan.h" 5 | #include 6 | using namespace std; 7 | void select(string *s); 8 | int analysis_se(string *s,string *str,string *ta_name,string *condition); 9 | int find(string *s,zhiduan *z,int *len_zhidaun,int *ex,int num_ta); 10 | void select_ta(int *ex,string *str,int num_ta,int *data_num_per_ta); 11 | void show(string *st,zhiduan *z,string *zhiduan_name,int *len_zhiduan,int ex); 12 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /zhiduan.h: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | #define ZHIDUAN_PATH "E:\\zhiduan.dat" 4 | #define DATE_PATH "E:\\date.mysql" 5 | #define DATE1_PATH "E:\\date1.mysql" 6 | #define ZHIDUAN1_PATH "E:\\zhiduan1.dat" 7 | struct zhiduan 8 | { 9 | char name[10]; 10 | char type[10]; 11 | int size; 12 | // bekey; 13 | //char beempty; 14 | //char useful; 15 | 16 | }; 17 | struct set 18 | { 19 | string first; 20 | string end; 21 | }; 22 | #define ZHIDUAN_PATH "E:\\zhiduan.dat" 23 | #define DATE_PATH "E:\\date.mysql" 24 | #define DATE1_PATH "E:\\date1.mysql" 25 | #define ZHIDUAN1_PATH "E:\\zhiduan1.dat" 26 | 27 | 28 | -------------------------------------------------------------------------------- /DBMS.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "DBMS"=.\DBMS.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /copar.h: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int compar(string s,string c) 4 | { 5 | int i,mark=0; 6 | for(i=0;s[i]!=NULL;i++) 7 | { 8 | if(s[i]!=c[i]) 9 | { 10 | mark=1; 11 | break; 12 | } 13 | } 14 | if(mark==1) return 0; 15 | if(c[i]!=NULL) return 0; 16 | return 1; 17 | } 18 | 19 | int compchar(string s,char *c) 20 | { 21 | int i,mark=0; 22 | for(i=0;s[i]!=NULL;i++) 23 | { 24 | if(s[i]!=c[i]) 25 | { 26 | mark=1; 27 | break; 28 | } 29 | } 30 | if(mark==1) return 0; 31 | if(c[i]!='\0') return 0; 32 | return 1; 33 | } 34 | int compar_a(string a, string b) 35 | { 36 | for(int i=0;a[i]!=NULL;i++) 37 | { 38 | if(b[i]==NULL) break; 39 | if(a[i] 2 | using namespace std; 3 | int compar1(string s,string c) 4 | { 5 | int i,mark=0; 6 | for(i=0;s[i]!=NULL;i++) 7 | { 8 | if(s[i]!=c[i]) 9 | { 10 | mark=1; 11 | break; 12 | } 13 | } 14 | if(mark==1) return 0; 15 | if(c[i]!=NULL) return 0; 16 | return 1; 17 | } 18 | 19 | int compchar1(string s,char *c) 20 | { 21 | int i,mark=0; 22 | for(i=0;s[i]!=NULL;i++) 23 | { 24 | if(s[i]!=c[i]) 25 | { 26 | mark=1; 27 | break; 28 | } 29 | } 30 | if(mark==1) return 0; 31 | if(c[i]!='\0') return 0; 32 | return 1; 33 | } 34 | int compar_a1(string a, string b) 35 | { 36 | for(int i=0;a[i]!=NULL;i++) 37 | { 38 | if(b[i]==NULL) break; 39 | if(a[i] 2 | using namespace std; 3 | int compar2(string s,string c) 4 | { 5 | int i,mark=0; 6 | for(i=0;s[i]!=NULL;i++) 7 | { 8 | if(s[i]!=c[i]) 9 | { 10 | mark=1; 11 | break; 12 | } 13 | } 14 | if(mark==1) return 0; 15 | if(c[i]!=NULL) return 0; 16 | return 1; 17 | } 18 | 19 | int compchar2(string s,char *c) 20 | { 21 | int i,mark=0; 22 | for(i=0;s[i]!=NULL;i++) 23 | { 24 | if(s[i]!=c[i]) 25 | { 26 | mark=1; 27 | break; 28 | } 29 | } 30 | if(mark==1) return 0; 31 | if(c[i]!='\0') return 0; 32 | return 1; 33 | } 34 | int compar_a2(string a, string b) 35 | { 36 | for(int i=0;a[i]!=NULL;i++) 37 | { 38 | if(b[i]==NULL) break; 39 | if(a[i] 4 | void trans(string *s) 5 | { 6 | if(s[0]=="select") 7 | wselect(s); 8 | else if(s[0]=="insert") 9 | winsert(s); 10 | else if(s[0]=="update") 11 | wupdate(s); 12 | else if(s[0]=="delete") 13 | wdelete(s); 14 | else if(s[0]=="create") 15 | wcreate(s); 16 | else if(s[0]=="drop") 17 | wdrop(s); 18 | else 19 | cout<<"Error"<>s[i]) 30 | { 31 | t=s[i].size()-1; 32 | if(s[i][t]==59) break; 33 | if(s[i]=="exit_sql") {t=-1;break;} 34 | if(s[i]=="look_sql") { look();t=-2;break;} 35 | i++; 36 | } 37 | if(t==-1) break; 38 | 39 | 40 | /*************************************************************** 41 | ifstream fp; // 42 | int number,lenth,i=0; 43 | char a; 44 | string ta_name; 45 | fp.open("E:\\MyProjects\\DBMS\\date\\date.mysql",ios::binary); // 46 | //fp.seekg(ex,ios::beg); 47 | string z[10]; 48 | fp>>a; 49 | fp>>ta_name; // 50 | fp>>lenth; 51 | fp>>number; 52 | while(i<2){ fp.read((char *)(z+i),sizeof(string)); i++;} // 53 | fp.close(); 54 | for( j=0;j 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Console Application" 0x0103 6 | 7 | CFG=DBMS - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "DBMS.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "DBMS.mak" CFG="DBMS - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "DBMS - Win32 Release" (based on "Win32 (x86) Console Application") 21 | !MESSAGE "DBMS - Win32 Debug" (based on "Win32 (x86) Console Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | RSC=rc.exe 30 | 31 | !IF "$(CFG)" == "DBMS - Win32 Release" 32 | 33 | # PROP BASE Use_MFC 0 34 | # PROP BASE Use_Debug_Libraries 0 35 | # PROP BASE Output_Dir "Release" 36 | # PROP BASE Intermediate_Dir "Release" 37 | # PROP BASE Target_Dir "" 38 | # PROP Use_MFC 0 39 | # PROP Use_Debug_Libraries 0 40 | # PROP Output_Dir "Release" 41 | # PROP Intermediate_Dir "Release" 42 | # PROP Target_Dir "" 43 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 44 | # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 45 | # ADD BASE RSC /l 0x804 /d "NDEBUG" 46 | # ADD RSC /l 0x804 /d "NDEBUG" 47 | BSC32=bscmake.exe 48 | # ADD BASE BSC32 /nologo 49 | # ADD BSC32 /nologo 50 | LINK32=link.exe 51 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 52 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 53 | 54 | !ELSEIF "$(CFG)" == "DBMS - Win32 Debug" 55 | 56 | # PROP BASE Use_MFC 0 57 | # PROP BASE Use_Debug_Libraries 1 58 | # PROP BASE Output_Dir "Debug" 59 | # PROP BASE Intermediate_Dir "Debug" 60 | # PROP BASE Target_Dir "" 61 | # PROP Use_MFC 0 62 | # PROP Use_Debug_Libraries 1 63 | # PROP Output_Dir "Debug" 64 | # PROP Intermediate_Dir "Debug" 65 | # PROP Target_Dir "" 66 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 67 | # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c 68 | # ADD BASE RSC /l 0x804 /d "_DEBUG" 69 | # ADD RSC /l 0x804 /d "_DEBUG" 70 | BSC32=bscmake.exe 71 | # ADD BASE BSC32 /nologo 72 | # ADD BSC32 /nologo 73 | LINK32=link.exe 74 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept 75 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept 76 | 77 | !ENDIF 78 | 79 | # Begin Target 80 | 81 | # Name "DBMS - Win32 Release" 82 | # Name "DBMS - Win32 Debug" 83 | # Begin Group "Source Files" 84 | 85 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 86 | # Begin Source File 87 | 88 | SOURCE=.\create.cpp 89 | # End Source File 90 | # Begin Source File 91 | 92 | SOURCE=.\delete.cpp 93 | # End Source File 94 | # Begin Source File 95 | 96 | SOURCE=.\drop.cpp 97 | # End Source File 98 | # Begin Source File 99 | 100 | SOURCE=.\insert.cpp 101 | # End Source File 102 | # Begin Source File 103 | 104 | SOURCE=.\main.cpp 105 | # End Source File 106 | # Begin Source File 107 | 108 | SOURCE=.\select.cpp 109 | # End Source File 110 | # Begin Source File 111 | 112 | SOURCE=.\update.cpp 113 | # End Source File 114 | # Begin Source File 115 | 116 | SOURCE=.\working.cpp 117 | # End Source File 118 | # End Group 119 | # Begin Group "Header Files" 120 | 121 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 122 | # Begin Source File 123 | 124 | SOURCE=.\compar.h 125 | # End Source File 126 | # Begin Source File 127 | 128 | SOURCE=.\comparup.h 129 | # End Source File 130 | # Begin Source File 131 | 132 | SOURCE=.\copar.h 133 | # End Source File 134 | # Begin Source File 135 | 136 | SOURCE=.\create.h 137 | # End Source File 138 | # Begin Source File 139 | 140 | SOURCE=.\delete.h 141 | # End Source File 142 | # Begin Source File 143 | 144 | SOURCE=.\drop.h 145 | # End Source File 146 | # Begin Source File 147 | 148 | SOURCE=.\insert.h 149 | # End Source File 150 | # Begin Source File 151 | 152 | SOURCE=.\main.h 153 | # End Source File 154 | # Begin Source File 155 | 156 | SOURCE=.\select.h 157 | # End Source File 158 | # Begin Source File 159 | 160 | SOURCE=.\update.h 161 | # End Source File 162 | # Begin Source File 163 | 164 | SOURCE=.\working.h 165 | # End Source File 166 | # Begin Source File 167 | 168 | SOURCE=.\zhiduan.h 169 | # End Source File 170 | # End Group 171 | # Begin Group "Resource Files" 172 | 173 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 174 | # End Group 175 | # End Target 176 | # End Project 177 | --------------------------------------------------------------------------------