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

اريد حل سوال ممكن قواعد بيانات

Amani

السؤال

قم بإنشاء قاعدة بيانات الطيران : (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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...