データベースシステムコース設計 - python+pyqt5+mysqlベースのホテル管理システム(直接実行可能) - GUIプログラミング(2)

 数か月前に書いたプロジェクト。このプロジェクトを通じて、データベース トリガー、Python の基本構文、Python がフロント エンドとバック エンド (インターフェイスとデータ) を接続する方法など、Python でのいくつかのサードパーティ ライブラリの使用方法について学ぶことができます。 ). のほか、インターフェイスのデザインなども担当します。誰もがこのプロジェクトから何かを学べることを願っています。

1. プロジェクトの背景

1. 実験計画の簡単な説明


ホテル管理システムは、従業員管理機能、賃貸管理機能、顧客管理機能、注文管理機能、レポートおよびメンテナンス機能、ログイン機能など、顧客と従業員情報の関係を提供することによってシステムを確立します。顧客情報を検索することで、顧客の部屋情報をすぐに見つけることができるシステムです。また、顧客情報の追加・削除・変更・照会、従業員情報の追加・削除・変更・照会も含まれます (1) ホテルには従業員がいます 従業員情報の閲覧、注文権限の閲覧、
閲覧部屋番号と部屋タイプ。
(2) 当ホテルには様々な規格の客室がございます。部屋データには、部屋番号、部屋レベル、部屋料金、部屋ステータス (すでに宿泊客がいるかどうか) が含まれます。部屋番号は部屋を一意に表し、部屋のレベルによって部屋の価格が決まります。客室のレベルはシングルルーム、スタンダードルーム、デラックスルーム、ビジネスルーム、エグゼクティブルームなどさまざまです。部屋のステータスは、部屋が予約、チェックイン、または転送できるかどうかを示します。

基本的な機能の実装:


(1) 部屋の管理。
(2) 客室の予約及びキャンセルの管理。
(3) ゲストのチェックインと店内での消費管理。

(4) 決済管理。
(5) 分類されたクエリを実装します。
(6) 対応するデータグラムを出力する

各事業の主な機能について説明します。


1. 部屋管理: 部屋情報データ、部屋番号を保存し、顧客は部屋タイプ (シングル ルーム、スタンダード ルーム、デラックス ルーム、ビジネス ルーム、エグゼクティブ ルーム)、部屋料金、部屋ステータス (ゲストの有無、ゲストなし:部屋を予約でき、部屋に移動できます。ゲストがいます:ゲストはチェックアウトして移動できます)、部屋はフロアに対応しています。
2.顧客管理:顧客を個人予約客と団体予約客(予約時間、予約客番号)、個人チェックイン客と団体チェックイン客(チェックイン時間、チェックイン客番号)に分け、ルームチェンジ機能もあります。
3. 従業員管理: 従業員の追加 (名前、性別、従業員番号、役職、入社時刻)、従業員の削除、従業員の変更、従業員情報の照会ができます。すべての注文を表示し、部屋(部屋番号、部屋タイプ、価格)を追加、削除、変更、確認することができます。
4. レポートとメンテナンス: データのバックアップ (データのエクスポート、データのインポート、データのテーブル間のエクスポート)、レポート。
5. 注文管理機能:注文記録レポート、顧客が宿泊した部屋タイプ(写真説明)、支払金額、宿泊に関する顧客情報(顧客番号、チェックイン時刻、チェックアウト時刻) 6. ログイン機能:ログイン(社員(アカウントパスワード)
ログイン/顧客(アカウントパスワード)ログイン) パスワード検索機能、パスワード変更機能。

2. 関係するデータ項目を機能別に分析してリストします。

  1. booking_client個人予約フォーム: (cid顧客番号、rid部屋番号、star_timeチェックイン時間、end_timeチェックアウト時間、booking_time予約時間、備考)
  2. Booking_team チーム予約フォーム: (TID チーム番号、RID ルーム番号、star_time チェックイン時間、end_time チェックアウト時間、booking_time 予約時間、備考)
  3. Checking_clint 個人チェックインテーブル: (rid 部屋番号、cid 顧客番号、star_time チェックイン時間、end_time チェックアウト時間、total_price 合計金額、check_in_sid チェックイン従業員番号、remark 備考)
  4. Checking_team チーム チェックイン テーブル: (rid 部屋番号、tid チーム グッド、star_time チェックイン時間、end_time チェックアウト時間、total_price 合計金額、check_in_sid チェックイン従業員番号、remark 備考)
  5. クライアント顧客テーブル: (cname 名、cid 顧客番号、cphone 電話番号、ケージ年齢、csex 性別、 register_sid 登録従業員番号、accomodation_times 滞在数、 register_time 登録時間)
  6. ホテルオーダーオーダーテーブル: (id ユーザー識別、ordertype オーダーフォーム、start_time 予約時間、rid 部屋番号、pay_type 支払い方法、金銭支払い価格、備考欄、order_time 注文時間、 register_sid 登録従業員時間番号)
  7. 部屋のテーブル: (部屋番号、タイプ タイプ、階数、価格、部屋のステータス、部屋の写真を取り除く)
  8. スタッフ従業員テーブル: (sid 従業員番号、sname 名、ssex 性別、stime 登録時間、susername アカウント番号、spassword パスワード、srole 権限、sidcard ID カード、sphone 携帯電話番号)

9. チームテーブル: (tname 名、tid チーム名、tphone 番号、check_in_sid ログイン従業員番号、accommodation_time 滞在数、register_time 登録時間)

2. プロジェクトの具体的な実施

        1. データ項目の簡単な説明。

1、booking_client客户个人预定表 (
  cid varchar(255) NOT NULL
  rid varchar(255) NOT NULL
  start_time date DEFAULT NULL
  end_time  date DEFAULT NULL)
2、booking_team团队预定表(
  tid varchar(255) NOT NULL
  rid varchar(255) NOT NULL
  start_time  date DEFAULT NULL
  end_time  date DEFAULT NULL
  booking_time  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
   remark varchar(255) DEFAULT NULL
3、checkin_client个人入住表 (
  rid 房间号 varchar(255) NOT NULL
  cid客户号  varchar(255) NOT NULL
  start_time入住时间  date DEFAULT NULL
  end_time退房时间  date DEFAULT NULL
  total_price总价格  varchar(255) DEFAULT NULL
  check_in_sid办理入住的员工编号  varchar(255) DEFAULT NULL
  remark备注  varchar(255) DEFAULT NULL)
4、checkin_team团队入住表(
  rid房间号 varchar(255) NOT NULL
  tid 客户号  varchar(255) NOT NULL
  start_time入住时间 date DEFAULT NULL
  end_time退房时间  date DEFAULT NULL
  total_price总价格  varchar(255) DEFAULT NULL,
  check_in_sid办理入住的员工编号  varchar(255) DEFAULT NULL,
  remark备注   varchar(255) DEFAULT NULL)
5、 client客户表 (
  cname姓名  varchar(255) NOT NULL
  cid客户号  varchar(255) NOT NULL
  cphone电话号  varchar(255) DEFAULT NULL
  cage年龄  varchar(255) NOT NULL
  csex性别  varchar(255) DEFAULT NULL
  register_sid注册员工号  varchar(255) DEFAULT NULL
  accomodation_times入住次数  int(11) DEFAULT NULL)
  register_time注册时间  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)
6、hotelorder订单表 (
  id 用户标识  varchar(255) NOT NULL
  ordertype订单形式  varchar(255) NOT NULL
  start_time入住时间  date NOT NULL
  end_time退房时间  date NOT NULL
  rid房间号  varchar(255) NOT NULL
  pay_type支付方式  varchar(255) DEFAULT NULL
  money缴费  varchar(255) DEFAULT NULL
  remarkv备注  varchar(255) DEFAULT NULL
  order_time订单时间  timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  register_sid注册员工编号  varchar(255) DEFAULT NULL)
7、room房间表 (
  rid房间号  varchar(255) NOT NULL
  rtype房间类型  varchar(255) NOT NULL
  rstorey楼层  varchar(255) NOT NULL
  rprice价格  varchar(255) NOT NULL
  rdesc房间状态  varchar(255) DEFAULT NULL
  rpic房间图片  varchar(255) DEFAULT NULL)
8、 staff员工表 (
  sid 员工号  varchar(255) NOT NULL
  sname 姓名  varchar(255) NOT NULL
  ssex性别  varchar(255) DEFAULT NULL
  stime入职时间  date DEFAULT NULL
  susername账号  varchar(255) NOT NULL
  spassword 密码  varchar(255) NOT NULL
  srole 权限  varchar(255) NOT NULL
  sidcard 身份证号  varchar(255) NOT NULL
  sphone 手机号码 varchar(255) DEFAULT NULL)
9、team 团队表(
  tname名字  varchar(255) NOT NULL
  tid团队号  varchar(255) NOT NULL
  tphone电话号码  varchar(255) DEFAULT NULL
  check_in_sid 登记员工编号 varchar(255) DEFAULT NULL
  accomodation_times 入住次数 int(11) DEFAULT NULL
  register_time注册时间 timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP)

        2. セキュリティ分析

データセキュリティとは、デジタル情報のライフサイクル全体を通じて不正アクセスからデジタル情報を保護し、破損や盗難などのリスクに対抗することを指します。そのために、当社ではアクセス許可を設定しており、正しいアカウントとパスワードを入力することによってのみ、データを閲覧できます。システム内のデータ関連情報、管理者以外のログインではシステム情報を取得できません。また、入力されたアカウントとパスワードを照合することで、対応するデータレポートや顧客従業員の個人情報を閲覧したり、変更が必要なデータを修正したりすることもできます。これにより、情報が漏洩しにくくなり、データの改ざん性も高まります。管理者によるパスワード変更を防止するため、ログインページにパスワード変更機能を設け、データのセキュリティを強化しています。人的ミスによる元データの消失、ソフトウェアのバグによるデータ消失、ハードウェア障害によるデータベースデータの消失などの問題を防ぐため、消失したデータ情報を回復するためのデータベースのバックアップを設定しています。特に顧客の予約情報、チェックイン情報、データレポート情報は、新規顧客や新規グループが追加されるたびにデータベースが更新され、データ検証も容易になります。また、データベースのバックアップを使用すると、新しい環境の構築や、開発環境およびテスト環境のデータベースの構築に同じデータベースを使用することも容易になります。データセキュリティ、データバックアップなどの観点から、システムで採用できるセキュリティ戦略やリスク管理戦略について説明します。

        3.関係モデルを指定し、関係モデルの主コードと外部コードをマークします。

1.booking_client個人予約フォーム: (cid,rid,star_time,end_time,booking_time,remark)

メインコード: (cid,rid)

外字:(cid) REFERENCES client (cid)

  (rid) 参考資料室 (rid)

ノーマルフォームレベル:1NF

2.booking_team チーム予約テーブル: (tid,rid,star_time,end_time,booking_time,remark)

メインコード: (tid,rid)

外字:(時間) 参考チーム (時間)

  (rid) 参考資料室 (rid)

    ノーマルフォームレベル:1NF

3.checking_clint個人チェックインテーブル:(rid、cid、star_time、end_time、total_price、check_in_sid、remark)

メインコード: (rid,cid)

外部コード: (rid) REFERENCES room (rid)

 (cid) 参照クライアント (cid)

 (check_in_sid) 参考資料 スタッフ (sid)

ノーマルフォームレベル:1NF

4. Checking_team チーム チェックイン テーブル: (rid,tid,star_time,end_time,total_price,check_in_sid,remark)

メインコード: (rid,tid)

外部コード:(rid) REFERENCES room (rid)

 (check_in_sid) 参考資料 スタッフ (sid)

  (時間) 参考チーム (時間)

ノーマルフォームレベル:1NF

5. クライアント顧客テーブル: (cname,cid,cphone,cage,csex,register_sid,accommodation_times,register_time)

主コード: (cid)

外部コード:(register_sid) REFERENCES スタッフ(sid)

ノーマルフォームレベル:3NF

6、ホテルオーダー订表:(id、ordertype、start_time、rid、pay_type、money、remark、order_time、register_sid)

主:(id,start_time,end_time,rid,ordertype)

外部コード:(rid) REFERENCES room(rid)

ノーマルフォームレベル:1NF

7. ルームルームテーブル:(rid、rtype、rstorey、rprice、rdesc、rpic)

メインコード: (rid)

外部コード: なし

正規形レベル:BCNF

8. スタッフ従業員テーブル: (sid、sname、ssex、stime、susername、password、srole、sidcard、sphone)

主コード: (sid)

外部コード: なし

正規形レベル:BCNF

9、team团队表:(tname,tid,tphone,check_in_sid,accomodation_time,register_time)

メインコード: (tid)

外部コード:(check_in_sid) REFERENCES スタッフ (sid)

ノーマルフォームレベル:3NF

        4. グローバルER図

        5. データのセキュリティ

 データセキュリティとは、デジタル情報のライフサイクル全体を通じて不正アクセスからデジタル情報を保護し、破損や盗難などのリスクに対抗することを指します。そのために、当社ではアクセス許可を設定しており、正しいアカウントとパスワードを入力することによってのみ、データを閲覧できます。システム内のデータ関連情報、管理者以外のログインではシステム情報を取得できません。また、入力されたアカウントとパスワードを照合することで、対応するデータレポートや顧客従業員の個人情報を閲覧したり、変更が必要なデータを修正したりすることもできます。これにより、情報が漏洩しにくくなり、データの改ざん性も高まります。ユーザーがパスワードを変更したい場合は、データのセキュリティを強化するために、ログインページにパスワード変更機能も設定しました。人的ミスによる元データの消失、ソフトウェアのバグによるデータ消失、ハードウェア障害によるデータベースデータの消失などの問題を防ぐため、消失したデータ情報を回復するためのデータベースのバックアップを設定しています。特に顧客の予約情報、チェックイン情報、データレポート情報は、新規顧客や新規グループが追加されるたびにデータベースが更新され、データ検証も容易になります。また、データベースのバックアップを使用すると、新しい環境の構築や、開発環境およびテスト環境のデータベースの構築に同じデータベースを使用することも容易になります。

3. データベースの作成

写真が多すぎて全部載せるのは大変なので、見たい方はいいね、集めてフォローしてバックグラウンドでプライベートメッセージを送ってください。

 

 4. GUIインターフェイスのプレゼンテーション

同様に、すべてのインターフェイスが表示されるわけではなく、一部のみが表示されます。フォローアップを見たい場合は、いいね、収集、フォローをして、バックグラウンドでプライベートメッセージを送信してください。

1.パスワード変更インターフェース

2. 個人情報を閲覧する場合、従業員はログインして閲覧することができます。

3. 従業員を追加し、基本的な従業員情報を入力します

 

4. 部屋情報の問い合わせ

 

 5. クエリレポート: 稼働率と注文量、および顧客と従業員関連の情報

 6. データベースのリスク防止策: データのバックアップとコンピュータ上でのバックアップ ファイルの生成

 7. ホテル管理システムのメインインターフェース

5. コードファイル

 

 ソースコードが必要な場合は、いいね、収集、フォローして、バックグラウンドで私にプライベートメッセージを送ってください。

おすすめ

転載: blog.csdn.net/m0_63309778/article/details/133381625