Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shlmt/flights
https://github.com/shlmt/flights
database sql sql-server
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/shlmt/flights
- Owner: shlmt
- Created: 2024-07-16T13:41:04.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-16T13:56:32.000Z (7 months ago)
- Last Synced: 2024-12-03T16:42:48.515Z (2 months ago)
- Topics: database, sql, sql-server
- Language: TSQL
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### מסד נתונים לניהול טיסות
#### תיאור הפרויקט
הפרויקט כולל יצירת מסד נתונים בשם `flights_db` לניהול מגוון נושאים של טיסות תעופה, כולל חברות תעופה, מטוסים, יעדים, טיסות, נוסעים, הזמנות כרטיסים, טריגרים, תצוגות, תהליכים מאוחסנים ופונקציות.
#### מבנה מסד הנתונים והטבלאות
1. **AirLines_tbl**
- טבלה המאחסנת קודי חברות התעופה ושמותיהן.
- מפתח ראשי: `AirlineCode` (מספור אוטומטי).
- אילוץ unique על `AirlineName`.
2. **Planes_tbl**- טבלה המאחסנת פרטי מטוסים.
- מפתח ראשי: `PlaneCode` (מספור אוטומטי).
- מפתח זר: `AirlineCode` המתייחס לטבלת `AirLines_tbl`.
- מספר מושבים ברירת מחדל: 300.
3. **Destination_tbl**- טבלה המאחסנת קודי יעדים ושמותיהם.
- מפתח ראשי: `DestinationCode` (מספור אוטומטי).
- אילוץ unique על `DestinationName`.
4. **Flights_tbl**- טבלה המאחסנת פרטי טיסות.
- מפתח ראשי: `FlightCode`.
- מפתחים זרים: `PlaneCode` (מתייחס ל `Planes_tbl`), `DestinationCode` (מתייחס ל `Destination_tbl`).
- עמודות: מחיר כרטיס, תאריך טיסה, קוד טיסת המשך.
5. **Passengers_tbl**- טבלה המאחסנת פרטי נוסעים.
- מפתח ראשי: `PassengerCode` (מספור אוטומטי).
- עמודות: שם פרטי, שם משפחה, מספר טלפון (עם אילוץ ל-10 ספרות).
6. **OrderTicket_tbl**- טבלה המאחסנת פרטי הזמנות כרטיסים.
- מפתח ראשי: `OrderCode` (מספור אוטומטי).
- מפתחים זרים: `FlightCode`, `PassengerCode`.
- עמודות: תאריך הזמנה (ברירת מחדל לתאריך נוכחי), מספר מושב.#### טריגרים
- **Shabbos_trigger**: בטבלת `Flights_tbl`, בעת הזנה או עדכון של תאריך טיסה, נבדק האם התאריך הוא שבת או חג, ואם כן התאריך יוחלף ליום ראשון.
- **seat_trigger**: בטבלת `OrderTicket_tbl`, מבצע בדיקה שהמספר המושב המבוקש קיים במטוס המתאים לטיסה זו.
- **date_trigger**: בטבלת `OrderTicket_tbl`, מונע הזמנת טיסות שכבר עברו.#### תצוגות
- **FlightsDetailsByOrders**: מציגה פרטי טיסה לכל לקוח, כולל שם מלא של הנוסע, קוד טיסה, שם חברת התעופה, שם היעד, תאריך הטיסה ומספר המושב.
- **SumPlanesOfAirLines**: מציגה את מספר המטוסים בבעלות כל חברת תעופה.#### פרוצדורות ופונקציות
- **insertPassenger**: פרוצדורה שמכניסה נתונים לטבלת `Passengers_tbl`.
- **updateFlightDate**: פרוצדורה שמעדכנת את תאריך הטיסה לטיסה נבחרת לתאריך חדש.
- **continueFlight**: פונקציה שמציעה טיסות המשך אפשריות עם הנחה של 10% על מחיר הכרטיס.
- **NumberOfPassengers**: פונקציה שמחזירה את מספר הנוסעים לטיסה נתונה.#### תוכנית: FreeFlight
- **FreeFlight**: תוכנית שמבצעת גרילה לבחירת נוסע מזוהה להטבה מיוחדת ומודיעה לו באמצעות קריאה קולית אם מספר הטלפון שלו כשר, או באמצעות הודעת טקסט אם לא.
#### הזנת נתונים
- הזנות שונות לטבלאות כדי להדגיש את פעולתם של הטריגרים, כגון כתיבת תאריכי טיסה בשבת או בשישי, אימות מספרי מושבים, ומניעת הזמנות כפולות.