-
Notifications
You must be signed in to change notification settings - Fork 0
/
header.h
148 lines (130 loc) · 4.55 KB
/
header.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#ifndef HEADER_H_INCLUDED
#define HEADER_H_INCLUDED
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
//------------------------------------- data type declaration section [001]
typedef struct syntax* adrsyntax;
typedef struct user* adruser;
typedef struct db* adrdb;
typedef struct table* adrtable;
typedef struct kolom* adrkolom;
typedef struct row* adrrow;
typedef struct isi* adrisi;
struct syntax{
string isi;
adrsyntax next;
};
struct user{
string username;
string password;
adruser next;
adrdb data;
};
struct db{
string namadb;
adrtable first_table;
adrdb next;
};
struct table{
string namatabel;
adrkolom first_kolom;
adrrow first_row;
adrtable next;
};
struct kolom{
string namakolom;
adrkolom next;
adrisi first_isi;
};
struct row{
int rowno;
adrisi first_isi;
adrrow next;
};
struct isi{
string info;
adrisi next_col;
adrisi next_row;
adrisi prev_col;
adrisi prev_row;
};
struct llist{
adruser first;
};
//------------------------------------------- allocation section [002]
adrsyntax alokasisyntax(string isi);
adruser alokasiuser(string username, string password);
adrdb alokasidb(string nama);
adrtable alokasitable(string nama);
adrkolom alokasikolom(string nama);
adrrow alokasirow(int rowno);
adrisi alokasiisi(string info);
//------------------------------------------- insert section [003]
void insertsyntax(adrsyntax *s, string isi);
void insertuser(llist *l,string username, string password);
void insertdb(adruser u,string name);
void insertable(adrdb d,string name);
void insertkolom(adrtable t, string name);
void insertrow(adrtable t, int no);
void insertisi(adrkolom k, adrrow r, string info);
//------------------------------------------- delete section [004]
void deletesyntax(adrsyntax *s);
void emptysyntax(adrsyntax *s);
void deletefirstisi(adrrow *r);
void emptyisi(adrrow *r);
void deletefromrow(adrdb *d, string tablename , string kolomcond, string isidel);
void deletefirstrow(adrdb *d, string tablename);
void truncatetable(adrdb *d, string tablename);
void deletefirstkolom(adrdb *d, string tablename);
void emptykolom(adrdb *d, string tablename);
void droptable(adrdb *d , string tablename);
//------------------------------------------- search section [005]
adruser searchuser(llist l,string username);
adrdb searchdb(adruser a, string dbname);
adrtable searchtable(adrdb a, string tablename);
adrkolom searchkolom(adrtable a, string kolomname);
adrrow searchrow(adrtable a, int rowno);
adrisi searchisi(adrkolom a, string isinya);
//------------------------------------------- Aljabar Relational Section [006]
void printsyntax(adrsyntax s);
void createtable(adrdb a,string tablename);
void createkolom(adrtable a,string kolomname);
int countrow(adrtable t);
void createrow(adrtable t, int rowno);
void viewall(adrtable a);
void sorttable(adrdb d, string tablename, string kolomby);
void viewdesctable(adrdb d, string tablename);
void updateisi(adrdb d, string tablename , string koldestin , string isidestin , string kolcond, string isicond);
//------------------------------------------- ----------------------------------syntax section [007]
adrsyntax selector();
bool is_create(adrsyntax s);
adrsyntax syntaxofcreate(adrsyntax s);
void executecreate(adrsyntax s, adrdb *l);
bool is_insert(adrsyntax s);
adrsyntax syntaxofinsert(adrsyntax s, adrdb l);
void executeinsert(adrsyntax s,adrdb *l);
bool is_selectall_nowhere_nosort(adrsyntax s);
adrsyntax syntaxofselectallnowherenosort(adrsyntax s, adrdb d);
void executeselectallnowherenosort(adrsyntax s, adrdb d);
bool is_selectall_nowhere_sort(adrsyntax s);
adrsyntax syntaxofselectallnowheresort(adrsyntax s, adrdb d);
void executeselectallnowheresort(adrsyntax s , adrdb d);
bool is_deletefrom(adrsyntax s);
adrsyntax syntaxofdeletefrom(adrsyntax s, adrdb d);
void executedeletesyntax(adrsyntax s, adrdb *d);
bool is_truncatetable(adrsyntax s);
adrsyntax syntaxoftruncate(adrsyntax s, adrdb d);
void executetruncate(adrsyntax s, adrdb *d);
bool is_drop(adrsyntax s);
adrsyntax syntaxofdrop(adrsyntax s, adrdb d);
void executedrop(adrsyntax s, adrdb *d);
bool is_desc(adrsyntax s);
adrsyntax syntaxofdesc(adrsyntax s,adrdb d);
void executedesc(adrsyntax s, adrdb d);
bool is_update(adrsyntax s);
adrsyntax syntaxofupdate(adrsyntax s, adrdb d);
void executeupdate(adrsyntax s, adrdb d);
void executor(adrdb *l, adrsyntax root, int *dec);
#endif // HEADER_H_INCLUDED