课题概述 某创业孵化基地管理若干孵化公司和创业公司,为规范管理创业项目投资业务,需要开发一个信息系统。请根据下述需求描述完成该系统的数据库设计。 需求描述(简要描述) 1.记录孵化公司和创业公司的信息。孵化公司信息包括公司代码、公司名称、法人代表名称、注册地址和电话;创业公司信息包括公司代码、公司名称和电话。孵化公司和创业公司的公司代码编码要求不同。 2.统一管理孵化公司和创业公司的员工。员工信息包括工号、身份证号、姓名、性别、所属公司代码和一个手机号,工号唯一。 3.记录投资方信息,投资方信息包括投资方编号、投资方名称和电话。 4.投资方和创业公司之间依靠孵化公司牵线建立创业项目合作关系,具体实施由孵化公司的一位员工负责协调投资方和创业公司的一个创业项目。一个创业项目只属于一个创业公司,但可以接受若干投资方的投资。创业项目信息包括项目编号、创业公司代码、投资方编号和孵化公司员工工号,投资额和投资时间。
时间: 2024-02-09 13:07:17 浏览: 147
根据需求描述,可以初步设计出以下的数据库结构:
1. 孵化公司表(incubator_company)
- 公司代码(company_code)
- 公司名称(company_name)
- 法人代表名称(legal_representative)
- 注册地址(registered_address)
- 电话(phone)
2. 创业公司表(startup_company)
- 公司代码(company_code)
- 公司名称(company_name)
- 电话(phone)
3. 员工表(employee)
- 工号(employee_id)
- 身份证号(ID)
- 姓名(name)
- 性别(gender)
- 所属公司代码(company_code)
- 手机号(phone)
4. 投资方表(investor)
- 投资方编号(investor_id)
- 投资方名称(investor_name)
- 电话(phone)
5. 创业项目表(startup_project)
- 项目编号(project_id)
- 创业公司代码(company_code)
- 投资方编号(investor_id)
- 孵化公司员工工号(employee_id)
- 投资额(investment_amount)
- 投资时间(investment_time)
根据上述数据库结构,可以编写相应的 SQL 语句来创建表格、插入数据、更新数据、删除数据和查询数据。以下是一些基本的 SQL 语句,用于在该系统的数据库中执行一些操作:
1. 创建表格
```
CREATE TABLE incubator_company (
company_code VARCHAR(20) PRIMARY KEY,
company_name VARCHAR(50) NOT NULL,
legal_representative VARCHAR(50) NOT NULL,
registered_address VARCHAR(100),
phone VARCHAR(20) NOT NULL
);
CREATE TABLE startup_company (
company_code VARCHAR(20) PRIMARY KEY,
company_name VARCHAR(50) NOT NULL,
phone VARCHAR(20) NOT NULL
);
CREATE TABLE employee (
employee_id VARCHAR(20) PRIMARY KEY,
ID VARCHAR(18) NOT NULL,
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
company_code VARCHAR(20) NOT NULL,
phone VARCHAR(20) NOT NULL,
FOREIGN KEY (company_code) REFERENCES incubator_company(company_code)
);
CREATE TABLE investor (
investor_id VARCHAR(20) PRIMARY KEY,
investor_name VARCHAR(50) NOT NULL,
phone VARCHAR(20) NOT NULL
);
CREATE TABLE startup_project (
project_id VARCHAR(20) PRIMARY KEY,
company_code VARCHAR(20) NOT NULL,
investor_id VARCHAR(20) NOT NULL,
employee_id VARCHAR(20) NOT NULL,
investment_amount FLOAT NOT NULL,
investment_time DATE NOT NULL,
FOREIGN KEY (company_code) REFERENCES startup_company(company_code),
FOREIGN KEY (investor_id) REFERENCES investor(investor_id),
FOREIGN KEY (employee_id) REFERENCES employee(employee_id)
);
```
2. 插入数据
```
INSERT INTO incubator_company (company_code, company_name, legal_representative, registered_address, phone)
VALUES ('001', '孵化公司1', '法人代表1', '地址1', '电话1');
INSERT INTO startup_company (company_code, company_name, phone)
VALUES ('101', '创业公司1', '电话1');
INSERT INTO employee (employee_id, ID, name, gender, company_code, phone)
VALUES ('E001', '身份证号1', '员工1', '男', '001', '手机号1');
INSERT INTO investor (investor_id, investor_name, phone)
VALUES ('I001', '投资方1', '电话1');
INSERT INTO startup_project (project_id, company_code, investor_id, employee_id, investment_amount, investment_time)
VALUES ('P001', '101', 'I001', 'E001', 100000, '2021-01-01');
```
3. 更新数据
```
UPDATE incubator_company SET phone = '新电话1' WHERE company_code = '001';
UPDATE startup_project SET investment_amount = 200000 WHERE project_id = 'P001';
```
4. 删除数据
```
DELETE FROM incubator_company WHERE company_code = '001';
DELETE FROM startup_project WHERE project_id = 'P001';
```
5. 查询数据
```
SELECT * FROM incubator_company;
SELECT * FROM startup_company;
SELECT * FROM employee;
SELECT * FROM investor;
SELECT * FROM startup_project;
```
以上是一些基本的 SQL 语句,用于在某创业孵化基地管理系统的数据库中执行一些操作。具体的语句还需要根据实际需求进行调整和完善。
阅读全文