假设数据库中有3张表: 教师:teacher(Tno,name,dept) 三个属性分别表示教师编号(char(8))、姓名和所属的系。 班级:class(title,number,sir_no) 三个属性分别表示班级的名称(char(4))、人数、班主任的教师编号。 上课:teaching(Cno,Tno, title,time,room) 五个属性分别表示课程编号(char(4)、教师编号、班级名称、时间(datetime)和地点(char(8))。 试按下列查询要求写出SQL命令。列出编号为4411的教师所在系的全体教师姓名; (4). 创建一个视图teacher_only,列出不是班主任的教师的编号、姓名和所属系;
时间: 2023-05-31 12:01:47 浏览: 178
1. 列出编号为4411的教师所在系的全体教师姓名:
SELECT name
FROM teacher
WHERE dept = (SELECT dept FROM teacher WHERE Tno = '4411')
2. 创建一个视图teacher_only,列出不是班主任的教师的编号、姓名和所属系:
CREATE VIEW teacher_only AS
SELECT teacher.Tno, teacher.name, teacher.dept
FROM teacher
WHERE teacher.Tno NOT IN (SELECT sir_no FROM class WHERE sir_no IS NOT NULL)
相关问题
用access数据库编写一个“员工信息管理系统”实现对员工信息的管理,数据库中有3张表:员工信息表tbemp、专业表tb_profession、部门表t_dept
好的,下面是一个简单的员工信息管理系统的设计和实现:
首先,我们需要创建3张表:员工信息表tbemp、专业表tb_profession、部门表t_dept。
员工信息表tbemp的字段有:工号、姓名、性别、年龄、部门、专业、联系电话、家庭地址。
专业表tb_profession的字段有:专业编号、专业名。
部门表t_dept的字段有:部门编号、部门名称。
接下来,我们可以通过创建表格的方式在Access中创建这3张表。
然后,我们需要在员工信息表tbemp中创建一个外键,关联部门表t_dept中的部门编号字段。同样地,我们也需要在员工信息表tbemp中创建一个外键,关联专业表tb_profession中的专业编号字段。
接下来,我们就可以在Access中创建一个表单,用于添加、修改和删除员工信息。表单中应该包含员工信息表tbemp中的所有字段,同时还需要提供一个下拉列表,用于选择员工所属的部门和专业。
最后,在表单中添加一些查询功能,例如:按部门查询员工信息、按专业查询员工信息、按姓名查询员工信息等。
这样,我们就完成了一个简单的员工信息管理系统的设计和实现。
用Python编写一个“员工信息管理系统”实现对员工信息的管理,数据库中有3张表:员工信息表tbemp、专业表tb_profession、部门表t_dept
好的,我可以帮你实现这个功能。首先,我们需要安装MySQL数据库,并创建一个名为 `employee_management` 的数据库。然后创建三个表 `tbemp`, `tb_profession` 和 `t_dept`:
```mysql
CREATE TABLE `tbemp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`gender` varchar(10) NOT NULL,
`phone` varchar(20) NOT NULL,
`email` varchar(50) NOT NULL,
`address` varchar(100) NOT NULL,
`profession_id` int(11) NOT NULL,
`dept_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `profession_id` (`profession_id`),
KEY `dept_id` (`dept_id`),
CONSTRAINT `tbemp_ibfk_1` FOREIGN KEY (`profession_id`) REFERENCES `tb_profession` (`id`),
CONSTRAINT `tbemp_ibfk_2` FOREIGN KEY (`dept_id`) REFERENCES `t_dept` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `tb_profession` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
CREATE TABLE `t_dept` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
```
然后,我们可以使用 Python 和 MySQL 进行连接和操作。这里我们使用 `mysql-connector-python` 库来操作MySQL数据库。先安装这个库:
```bash
pip install mysql-connector-python
```
然后编写Python代码实现员工信息管理系统:
```python
import mysql.connector
# 连接数据库
cnx = mysql.connector.connect(user='root', password='123456', host='localhost', database='employee_management')
cursor = cnx.cursor()
# 查询所有员工信息
def query_all_employees():
query = "SELECT tbemp.id, tbemp.name, tbemp.age, tbemp.gender, tbemp.phone, tbemp.email, tbemp.address, tb_profession.name, t_dept.name FROM tbemp INNER JOIN tb_profession ON tbemp.profession_id=tb_profession.id INNER JOIN t_dept ON tbemp.dept_id=t_dept.id"
cursor.execute(query)
for row in cursor.fetchall():
print(row)
# 添加员工信息
def add_employee(name, age, gender, phone, email, address, profession_id, dept_id):
insert = "INSERT INTO tbemp (name, age, gender, phone, email, address, profession_id, dept_id) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)"
val = (name, age, gender, phone, email, address, profession_id, dept_id)
cursor.execute(insert, val)
cnx.commit()
# 修改员工信息
def update_employee(id, name, age, gender, phone, email, address, profession_id, dept_id):
update = "UPDATE tbemp SET name=%s, age=%s, gender=%s, phone=%s, email=%s, address=%s, profession_id=%s, dept_id=%s WHERE id=%s"
val = (name, age, gender, phone, email, address, profession_id, dept_id, id)
cursor.execute(update, val)
cnx.commit()
# 删除员工信息
def delete_employee(id):
delete = "DELETE FROM tbemp WHERE id=%s"
val = (id,)
cursor.execute(delete, val)
cnx.commit()
# 查询所有专业信息
def query_all_professions():
query = "SELECT * FROM tb_profession"
cursor.execute(query)
for row in cursor.fetchall():
print(row)
# 添加专业信息
def add_profession(name):
insert = "INSERT INTO tb_profession (name) VALUES (%s)"
val = (name,)
cursor.execute(insert, val)
cnx.commit()
# 修改专业信息
def update_profession(id, name):
update = "UPDATE tb_profession SET name=%s WHERE id=%s"
val = (name, id)
cursor.execute(update, val)
cnx.commit()
# 删除专业信息
def delete_profession(id):
delete = "DELETE FROM tb_profession WHERE id=%s"
val = (id,)
cursor.execute(delete, val)
cnx.commit()
# 查询所有部门信息
def query_all_depts():
query = "SELECT * FROM t_dept"
cursor.execute(query)
for row in cursor.fetchall():
print(row)
# 添加部门信息
def add_dept(name):
insert = "INSERT INTO t_dept (name) VALUES (%s)"
val = (name,)
cursor.execute(insert, val)
cnx.commit()
# 修改部门信息
def update_dept(id, name):
update = "UPDATE t_dept SET name=%s WHERE id=%s"
val = (name, id)
cursor.execute(update, val)
cnx.commit()
# 删除部门信息
def delete_dept(id):
delete = "DELETE FROM t_dept WHERE id=%s"
val = (id,)
cursor.execute(delete, val)
cnx.commit()
# 关闭数据库连接
cursor.close()
cnx.close()
```
现在,我们就可以通过调用这些函数来操作员工信息、专业信息和部门信息了。比如:
```python
# 查询所有员工信息
query_all_employees()
# 添加员工信息
add_employee("张三", 25, "男", "13888888888", "zhangsan@example.com", "北京市海淀区", 1, 1)
# 修改员工信息
update_employee(1, "李四", 30, "男", "13999999999", "lisi@example.com", "北京市朝阳区", 2, 2)
# 删除员工信息
delete_employee(1)
# 查询所有专业信息
query_all_professions()
# 添加专业信息
add_profession("Java开发")
# 修改专业信息
update_profession(1, "Python开发")
# 删除专业信息
delete_profession(1)
# 查询所有部门信息
query_all_depts()
# 添加部门信息
add_dept("研发部")
# 修改部门信息
update_dept(1, "技术部")
# 删除部门信息
delete_dept(1)
```
这样,我们就完成了一个简单的员工信息管理系统。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)