اذهب إلى المحتوى

السؤال

نشر

قم بإنشاء قاعدة بيانات الطيران : (10 درجة)

 

تحتوي قاعدة بيانات "الطيران" على الجداول التالية:

 

الطائرة(رقم الطائرة، الشركة، السعة، النوع) 

Airplane (plane_number, company, capacity, type)

 

عون صيانة(رقم عون الصيانة، الاسم، الهاتف، العنوان، التخصص)

Maintenance_aid (maintenance_aid_number, name, phone, address, major)

 

الصيانة(رقم عون الصيانة، رقم الطائرة، تاريخ الصيانة، التقرير)

Maintenance (maintenance_assistance_number, aircraft_number, maintenance_date, report)

 

الرحلة(رقم الرحلة، رقم الطائرة، مطار الانطلاق، مطار الوصول، التاريخ، الساعة، رقم الرصيف)

Flight (flight_number, plane_number, departure_airport, arrival_airport, date, hour, dock_number)

فريق الرحلة (رقم الرحلة، رقم عون الطائرة، التقييم)

Flight_team (flight_number, plane_aid_number, evaluation)

عون الطائرة(رقم عون الطائرة، الاسم، الهاتف، العنوان، الوظيفة، المدينة، التقييم)

Plane_assistance (plane_assistance_number, name, phone, address, job, city, evaluation)

المسافر(رقم المسافر، الاسم، الهاتف، العنوان، المدينة)

Traveler (traveler_number, name, phone, address, city)

تفاصيل السفر(رقم المسافر، رقم الرحلة، رقم المقعد، الدرجة)

Travel_details (traveler_number, flight_number, seat_number, class)

الحقيبة(رقم الحقيبة، اللون، الوزن، رقم المسافر)

Bag (bag_number, color, weight, traveler_number)


 

أنشئ الجداول التالية باستخدام لغة SQL: المسافر، الطائرة، تفاصيل السفر.

أضف القيود على الجداول التي تم إنشائها.

أدرج ثلاث سجلات على الأقل في كل جدول.

أكتب الأجراءات (Procedures) التالية: 

PlanesList: لطباعة عدد الطائرات لكل شركة.

CancelFlight: لإلغاء (حذف) كل الحجوزات حسب رقم الرحلة.

أكتب الدوال (Functions) التالية:

BestAgent: لإرجاع اسم أفضل عون طائرة من حيث التقييم.

TripClass: لإرجاع عدد المسافرين حسب رقم الرحلة. 


ملاحظة: يتم كتابة الكود كامل لكل إجابة (تعريف المتغيرات و الإستثناءات لو موجودة، إلخ)

Recommended Posts

  • 0
نشر

اليك قاعدة بيانات يمكنك التعديل عليها

-- سيتم حذفها petrotesting في حال كان يوجد بالأساس قاعدة بيانات إسمها
DROP DATABASE IF EXISTS petrotesting;
-- petrotesting هنا قمنا بإنشاء قاعدة بيانات جديدة إسمها
CREATE DATABASE petrotesting;
-- و بالتالي أي شيء ننشئه سيتم إنشاؤه فيها petrotesting هنا قمنا بتحديد أن أي إستعلام جديد سيتم تنفيذه على قاعدة البيانات
USE petrotesting;
-- يتألف من 7 أعمده customer هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE customer (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    full_name VARCHAR(50),
    name VARCHAR(20),
    adreess VARCHAR(50),
    NIF VARCHAR(15),
    TIN VARCHAR(15),
    BP VARCHAR(15),
    INDEX(name)
);
-- يتألف من 6  أعمده contact Person هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE contactPerson (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    customer_name VARCHAR(20),
    first_name VARCHAR(20),
    last_name VARCHAR(20),
    phone VARCHAR(20),
    Email VARCHAR(255),
    CONSTRAINT fk_contactPerson_customer FOREIGN KEY (customer_name) REFERENCES customer(name)
);
-- يتألف من 7 أعمدة driver هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE driver (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    customer_name VARCHAR(50),
    first_name VARCHAR(20),
    last_name VARCHAR(20),
    phone VARCHAR(20),
    vehicle_registration VARCHAR(20),
    coment VARCHAR(50),
    CONSTRAINT fk_driver_customer FOREIGN KEY (customer_name) REFERENCES customer(name)
);
-- يتألف من 8 أعمده JOB هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE job (
    job_number VARCHAR(6) NOT NULL PRIMARY KEY ,
    customer_name VARCHAR(255),
    PO VARCHAR(20),
    WO VARCHAR(20),
    date_open DATE,
    following VARCHAR(10),
    date_close DATE,
    price DECIMAL(6,2),
    CONSTRAINT fk_job_customer FOREIGN KEY (customer_name) REFERENCES customer(name)
);
-- يتألف ن 5 أعمدة connection هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE connection (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(15),
    size VARCHAR(5),
    type VARCHAR(5),
    Norm VARCHAR(20),
    INDEX(name)
);
-- يتألف ن 5 أعمدة typEquipment هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE typeequipment (
    id INT NOT NULL UNIQUE AUTO_INCREMENT,
    name VARCHAR(15) PRIMARY KEY ,
    label2 VARCHAR(5),
    Connection VARCHAR(15),
    grad VARCHAR(20),
    -- INDEX(name),
    CONSTRAINT fk_typeEquipment_connectionThread FOREIGN KEY (connection) REFERENCES connection(name)
);
-- يتألف من 6 أعمدة Equipment هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE equipment (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,-- job كمفتاح رئيسي في الجدول id هنا قمنا بتعيين العامود
    job_number VARCHAR(6),
    seriel_number VARCHAR(20),
    type_equipment VARCHAR(50),
    date_dlivred DATE,
    driver_id INT ,
    -- job الموجود في الجدول job_number هو مفتاح ثانوي بالنسبة للعامود job_number يحدد أن العامود fk_Equipment_job هنا قمنا بوضع قيد بإسم
    CONSTRAINT fk_Equipment_job FOREIGN KEY (job_number) REFERENCES job(job_number),
    CONSTRAINT fk_Equipment_typElement FOREIGN KEY (type_equipment) REFERENCES typeequipment(name),
    CONSTRAINT fk_Equipment_driver FOREIGN KEY (driver_id) REFERENCES driver(id)

);

-- يتألف من 8 أعمدة serviceEquipment هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE serviceEquipment (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    id_equipment INT,
    name_function VARCHAR(50),
    duration float,
    operator VARCHAR(10),
    inspector VARCHAR(10),
    aid VARCHAR(10),
    date_operation DATE,
    price DECIMAL(6,2),
    CONSTRAINT fk_serviceEquipment_equipmmment FOREIGN KEY (id_equipment) REFERENCES equipment(id)
 );
-- يتألف من 6 أعمدة redresService هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE redresService (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    id_service INT,
    type VARCHAR(20),
    surfaceSQI float,
    witheBluedUp boolean,
    CONSTRAINT fk_redresService_serviceEquipment FOREIGN KEY (id_service) REFERENCES serviceEquipment(id)
);
-- يتألف من 6 أعمدة recutService هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE recutService (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    id_service INT,
    type VARCHAR(20),
    opetion VARCHAR(10),
    CONSTRAINT fk_recutService_serviceEquipment FOREIGN KEY (id_service) REFERENCES serviceEquipment(id)
);
-- يتألف من 11 أعمدة priceList هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE priceList (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    customer VARCHAR(20),
    cod_service VARCHAR(15),
    name_equipment VARCHAR(15),
    serivce VARCHAR(10),
    type VARCHAR(10),
    date_lastupdat DATE,
    responsapl VARCHAR(10),
    option_price DECIMAL(6,2),
    unit_price DECIMAL(6,2),
    contract_price DECIMAL(6,2),
    
    CONSTRAINT fk_priceList_customer FOREIGN KEY (customer) REFERENCES customer(name),
    CONSTRAINT fk_priceList_typeequipment FOREIGN KEY (name_equipment) REFERENCES typeequipment(name)
);
-- يتألف من 9 أعمدة equipmentRqport هنا قمنا بإنشاء جدول جديد إسمه
CREATE TABLE equipmenRaport (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    id_equipment INT,
    seriel_number VARCHAR(20),
    connection1 VARCHAR(15),
    connection2 VARCHAR(15),
    condition_connection1 VARCHAR(15),
    condition_connection2 VARCHAR(15),	
    coment VARCHAR(50),
    raport_number VARCHAR(50),
    
    CONSTRAINT fk_EquipmentRaport_connection_1 FOREIGN KEY (connection1) REFERENCES connection(name),
    CONSTRAINT fk_EquipmentRaport_connection_2 FOREIGN KEY (connection2) REFERENCES connection(name),
    CONSTRAINT fk_EquipmentRaport_equipment FOREIGN KEY (id_equipment) REFERENCES equipment(id)
);

CREATE TABLE dp_hwdp_equipmen_raport (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    id_equipment_report INT,
    hardpanding VARCHAR(10),
    bent boolean,
    CONSTRAINT fk_dp_hwdp_equipmenRaport_Equipmentreport FOREIGN KEY (id_equipment_report) REFERENCES equipmenraport(id)
);
CREATE TABLE stablzer_equipmen_raport (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    id_equipment_report INT,
    blade_condetion VARCHAR(10),
    
    CONSTRAINT fk_stablzer_equipmen_raport_Equipmentreport FOREIGN KEY (id_equipment_report) REFERENCES equipmenraport(id)
);

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...