C 中的sqlite3创建语句和外键
sqlite3 in c++ create statements and foreign keys
我正在尝试sqlite3在C 中创建语句和外键,我提出了4个要求。
1) a employer can create a job position
2) a employer can view the form reject or shortlist the applicant for interview
3) a applicant may apply for a job position
4) a applicant must fill up their details and submit the form if they are keen to apply for a position
这就是我写的
雇主表
/*SQL statement for employer table*/
char *sql;
sql = "CREATE TABLE EMPLOYER("
"ID INT PRIMARY KEY NOT NULL,"
"NAME TEXT NOT NULL,"
"ROLE TEXT NOT NULL );";
Jobposition表
/*SQL statement for jobposition table */
char *sql;
sql = "CREATE TABLE JOBPOSITION("
"ID INT PRIMARY KEY NOT NULL,"
"JOBPOSITION TEXT NOT NULL,"
"OUTCOME TEXT NOT NULL );";
表格表
/*SQL statement for form table*/
char *sql;
sql = "CREATE TABLE FORM ("
"ID INT PRIMARY KEY NOT NULL,"
"FOREIGN KEY (ID) REFERENCES APPLICANT(ID)",
"FOREIGN KEY (ID) REFERENCES JOBPOSITION(ID)",
FOREIGN KEY (ID) REFERENCES EMPLOYER(ID)" );";
申请人表
/*SQL statement for applicant table*/
char *sql;
sql = "CREATE TABLE APPLICANT ("
"ID INT PRIMARY KEY NOT NULL,"
"APPLICANT_NAME TEXT NOT NULL,"
"APPLICANT_ADDRESS TEXT NOT NULL," );";
我不确定这是否正确,因为我刚刚开始学习数据库并需要一些帮助。
我不知道您的意思是"正确",所以我要向您展示如何做:
CREATE TABLE users (
id INT NOT NULL PRIMARY_KEY AUTO_INCREMENT,
name TEXT NOT NULL,
address TEXT NOT NULL,
role TEXT NOT NULL, /* employer, applicant etc. */
);
CREATE TABLE job_positions (
id INT NOT NULL PRIMARY_KEY AUTO_INCREMENT,
creator_id INT NOT NULL FOREIGN_KEY REFERENCES users(id),
description TEXT NOT NULL,
outcome TEXT NOT NULL,
);
CREATE TABLE forms (
id INT NOT NULL PRIMARY_KEY AUTO_INCREMENT,
position_id INT NOT NULL FOREIGN_KEY REFERENCES job_positions(id)
creator_id INT NOT NULL FOREIGN_KEY REFERENCES users(id)
);
以这种方式,用户与job_positions和forms有1-N关系;job_positions与表格有1-N的关系。换句话说,job_positions属于用户;表格属于用户和职位。
相关文章:
- 尝试使用 indexOf 创建一个 if 语句来检查字符串是否包含字符.有一点麻烦
- 如何从这些语句中的每一个创建不同的函数?
- 是否可以在一个语句中创建对象并调用方法?
- 在 c++ 中创建递归 for 语句
- 如何访问在 if 语句内、外部创建的指针
- 如何预先分配空类对象,然后在if语句的大括号中创建该对象
- 是否可以基于 C 或 C++ 中的 JSON 动态创建 if 语句
- 如何仅使用循环/控制语句和两个cout语句创建一个倒三角:一个输出“#”和一个输出' n'
- C 中的sqlite3创建语句和外键
- 如何创建包含 goto 语句的主菜单函数
- 创建指向while语句中的指针的指针
- 我应该用switch语句从变量创建C++模板化对象吗
- 如何使用C++模板创建具有任意数量案例的开关语句生成器
- 如何通过 MySQL++ 库创建和使用 MySQL 语句
- 是否可以使程序的执行跳过 fprintf-语句/如何创建我自己的 fprintf 函数
- 在 c++ 中从字符串创建类以避免大型 switch 语句
- 创建开关语句时出现问题
- 在条件c++语句中创建对象
- 从c++中的文件中的sql语句创建sqlite3db
- 如果存储是分段的,则在类中使用If语句创建动态数组