我想要制作一个酒店管理数据库,其中包含游客表GuestInfo,游客登记表RegInfo,清扫记录表CleanInfo三个表,其中游客表中属性包含身份证号、姓名、性别和住房类型,游客登记表属性包含房间号、游客身份证号、住房费用清扫记录表属性包含员工号、员工姓名、清扫范围。我需要你为我制作数据库程序以及满足基本的查询功能
时间: 2024-01-27 08:05:58 浏览: 30
好的,我可以为您提供一些帮助。
首先,我们需要设计数据库的结构。根据您的需求,我们需要创建三个表:GuestInfo、RegInfo和CleanInfo。
GuestInfo表的结构如下:
| 字段名 | 数据类型 | 备注 |
| --- | --- | --- |
| id | int | 主键,自增长 |
| id_card | varchar(20) | 身份证号 |
| name | varchar(50) | 姓名 |
| gender | varchar(5) | 性别 |
| room_type | varchar(50) | 住房类型 |
RegInfo表的结构如下:
| 字段名 | 数据类型 | 备注 |
| --- | --- | --- |
| id | int | 主键,自增长 |
| room_number | varchar(20) | 房间号 |
| guest_id_card | varchar(20) | 游客身份证号 |
| room_charge | decimal(10,2) | 住房费用 |
CleanInfo表的结构如下:
| 字段名 | 数据类型 | 备注 |
| --- | --- | --- |
| id | int | 主键,自增长 |
| employee_id | varchar(20) | 员工号 |
| employee_name | varchar(50) | 员工姓名 |
| clean_range | varchar(100) | 清扫范围 |
接下来,我们需要编写数据库程序,包括创建表、插入数据、更新数据、删除数据、查询数据等操作。具体的实现方式可以选择使用SQL语句或者ORM框架实现。
以下是一个简单的示例程序,使用Python的SQLAlchemy库实现:
```python
from sqlalchemy import create_engine, Column, Integer, String, Float
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 创建数据库引擎
engine = create_engine('sqlite:///hotel.db', echo=True)
# 创建会话工厂
Session = sessionmaker(bind=engine)
# 创建基础模型
Base = declarative_base()
# 定义GuestInfo模型
class GuestInfo(Base):
__tablename__ = 'guest_info'
id = Column(Integer, primary_key=True, autoincrement=True)
id_card = Column(String(20))
name = Column(String(50))
gender = Column(String(5))
room_type = Column(String(50))
# 定义RegInfo模型
class RegInfo(Base):
__tablename__ = 'reg_info'
id = Column(Integer, primary_key=True, autoincrement=True)
room_number = Column(String(20))
guest_id_card = Column(String(20))
room_charge = Column(Float)
# 定义CleanInfo模型
class CleanInfo(Base):
__tablename__ = 'clean_info'
id = Column(Integer, primary_key=True, autoincrement=True)
employee_id = Column(String(20))
employee_name = Column(String(50))
clean_range = Column(String(100))
# 创建数据表
Base.metadata.create_all(engine)
# 插入数据
session = Session()
guest1 = GuestInfo(id_card='123456789012345678', name='张三', gender='男', room_type='豪华套房')
guest2 = GuestInfo(id_card='987654321098765432', name='李四', gender='女', room_type='标准间')
session.add(guest1)
session.add(guest2)
session.commit()
# 查询数据
guests = session.query(GuestInfo).all()
for guest in guests:
print(guest.name, guest.gender, guest.room_type)
# 更新数据
guest = session.query(GuestInfo).filter_by(name='张三').first()
guest.room_type = '总统套房'
session.commit()
# 删除数据
guest = session.query(GuestInfo).filter_by(name='李四').first()
session.delete(guest)
session.commit()
```
以上代码仅为示例,具体的实现方式可以根据您的实际需求进行调整。希望能对您有所帮助。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)