ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Σχετικά έγγραφα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

MOCϦϣΎϬϴϠϋϝϮμΤϟϢΗϊΟήϤϟ. USE northwind SELECT employeeid, lastname, firstname, title FROM employees GO

ΣΧΕΣΕΙΣ στην Northwind

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

Τμήμα Διοίκησης Επιχειρήσεων

Ηλεκτρονικοί Υπολογιστές II

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Βάσεις Δεδομένων

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη

Τεχνολογία Πολιτισμικού Λογισμικού

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Σχεδίαση και λειτουργία βάσης δεδομένων Το παράδειγμα της μαιευτικής κλινικής Ευάγγελος Καρβούνης


BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Το σχεσιακό μοντέλο βάσεων δεδομένων

Εισαγωγή στην πληροφορική

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 4ο Μάθημα: SQL - Παράδειγμα. Δρ. Κωνσταντίνος Χ.

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

class Movie extend Movies key title {attribute string title; attribute string review; relationship set <Actor> stars inverse Actor::acts_in;}


Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7β: SQL (Πρακτική Εξάσκηση 1) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Το Σχεσιακό μοντέλο και η γλώσσα SQL

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Αρχεία και Βάσεις Δεδομένων

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

Σχεδίαση Βάσεων Δεδομένων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΙΙ. Φοιτητής:... (ΑΕΜ: ) ΣΕΡΡΕΣ, Ιανουάριος 2010

Ανοικτά Ακαδημαϊκά Μαθήματα

Χειμερινό εξάμηνο Διδάσκοντες: Ν. Παπασπύρου, Β. Βεσκούκης, Κ. Σαΐδης

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

Ηλεκτρονικοί Υπολογιστές II

Διαχείριση Πολιτισμικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

Σχεδίαση Βάσεων Δεδομένων

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Σύνολα Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Σχεδιασμός Βάσεων Δεδομένων

Βάσεις Δεδομένων. Ενότητα 7.2: Structured Query Language - 2 ο Μέρος. Αθανάσιος Σπυριδάκος Τμήμα Διοίκησης Επιχειρήσεων

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL


Διαχείριση Πολιτισμικών Δεδομένων

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Σχεδίαση Βάσεων Δεδομένων

Ηλεκτρονικοί Υπολογιστές II

DELETE, UPDATE, INSERT.

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Σχεδίαση Βάσεων Δεδομένων

Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-562 Προχωρημένα Θέματα Βάσεων Δεδομένων Βασίλης Χριστοφίδης

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

DELETE, UPDATE, INSERT

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Διάλεξη 15: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) III. Διδάσκων: Παναγιώτης Ανδρέου

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις. Συμπλήρωμα 1 για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων

Φυσική Σχεδίαση Υλοποίηση βάσης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Εισαγωγή στην PostgreSQL Spatial 8.1

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017

Βάσεις Δεδομένων (Databases)

Τεχνολογία Πολιτισμικού Λογισμικού

SQL Data Manipulation Language

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL


Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΦΘΙΝΟΠΩΡΟ 2008 Λύση ΑΣΚΗΣΗΣ #3 Τ. Σελλής Θεωρούμε το ακόλουθο σενάριο: Το τμήμα διαχείρισης δεδομένων μίας εταιρίας έχει σχεδιάσει ένα μοντέλο οντοτήτων-συσχετίσεων για τη βάση δεδομένων της. Η βάση περιέχει προϊόντα (Products) και κατηγορίες προϊόντων (Categories). Οι αγορές από τους προμηθευτές (Suppliers) προσδιορίζονται από παραγγελίες αγοράς (PurchaseOrders). Μία παραγγελία αγοράς αφορά ένα ή περισσότερα προϊόντα προς αγορά. Η παραγγελία συνδέεται επίσης με τον υπάλληλο (Employees) που την πραγματοποιεί και με τον τρόπο αποστολής (ShippingMethods). Το διάγραμμα οντοτήτων συσχετίσεων για τη βάση δεδομένων φαίνεται παρακάτω: α) Δώστε το σχήμα της παραπάνω βάσης σε ODL και σε SQL:1999. Για το δεύτερο να δημιουργηθούν τα σχήματα με βάση ορισμούς ROW TYPES. β) Γράψτε σε SQL:1999 χωρίς τη χρήση συνδέσεων (joins) τις παρακάτω ερωτήσεις: i) Βρείτε τα ονόματα όλων των υπαλλήλων που έκαναν μία παραγγελία με προμηθευτή είτε Smith ή Jones. ii) Βρείτε τα ονόματα όλων των υπαλλήλων που έκαναν παραγγελία με προμηθευτή Smith και παραγγελία με προμηθευτή Jones. iii) Βρείτε τα ονόματα των υπαλλήλων που έχουν τουλάχιστον μία παραγγελία προϊόντος κατηγορίας A. 1

Λύση α) ODL: interface Supplier (extent Suppliers key SupplierID) attribute string SupplierID; attribute string SupplierName; relationship set <PurchaseOrder> Supplies inverse PurchaseOrder::Supplier; interface Employee (extent Employees key EmpID) attribute integer EmpID; attribute string EmpName; relationship set <PurchaseOrder> MadePO inverse PurchaseOrder::POfrom; interface ShippingMethod (extent ShippingMethods key ShippingMethodID) attribute string ShippingMethodID; attribute string ShippingMethodName; relationship set <PurchaseOrder> POsShipped inverse PurchaseOrder::HowShipped; interface PurchaseOrder (extent PurchaseOrders key PurchaseOrderID) attribute integer PurchaseOrderID; attribute date OrderDate; relationship Supplier Supplied inverse Supplier::Supplies; relationship Employee POfrom inverse Employee::MadePO; relationship ShippingMethod HowShipped inverse ShippingMethod::POsByShipped; relationship set <InventoryPurchase> Items inverse InventoryPurchase::FromPO; interface Category (extent Categories key CategoryID) attribute integer CategoryID; attribute string CategoryName; relationship set <Products> ProductsOfCategory inverse Products::HasCategory; interface Product (extent Products key ProductID) 2

attribute integer ProductID; attribute string ProductName; attribute integer UnitPrice; relationship Category HasCategory inverse Category::ProductsOfCategory; relationship set <InventoryPurchase> Purchases inverse InventoryPurchase::ForProduct; interface InventoryPurchase (extent InventoryPurchases) attribute integer UnitsOrdered; relationship Product ForProduct inverse Product::Purchases; relationship PurchaseOrder FromPO inverse PurchaseOrder::ForProduct; SQL:1999: CREATE ROW TYPE SupplierObj SupplierID Varchar(40), SupplierName Varchar(40), Supplies Set(Ref(PurchaseOrder)) CREATE TABLE Supplier OF ROW TYPE SupplierObj; CREATE ROW TYPE EmployeeObj EmpID Integer, EmpName Varchar(40), MadePO Set(Ref(PurchaseOrder)) CREATE TABLE Employee OF ROW TYPE EmployeeObj; CREATE ROW TYPE ShippingMethodObj ShippingMethodID Varchar(40), ShippingMethodName Varchar(40), POsShipped Set(Ref(PurchaseOrder)) CREATE TABLE ShippingMethod OF ROW TYPE ShippingMethodObj; CREATE ROW TYPE PurchaseOrderObj PurchaseOrderID Integer, OrderDate Date, Supplied Ref(Supplier), 3

POfrom Ref(Employee), HowShipped Ref(ShippingMethod), Items Set(Ref(InventoryPurchase)) CREATE TABLE PurchaseOrder OF ROW TYPE PurchaseOrderObj; CREATE ROW TYPE CategoryObj CategoryID Integer, CategoryName Varchar(40), ProductsOfCategory Set(Ref(Products)) CREATE TABLE Category OF ROW TYPE CategoryObj; CREATE ROW TYPE ProductObj ProductID Integer, ProductName Varchar(40), UnitPrice Integer, HasCategory Ref(Category), Purchases Set(Ref(InventoryPurchase)) CREATE TABLE Product OF ROW TYPE ProductObj; CREATE ROW TYPE InventoryPurchaseObj UnitsOrdered Integer, ForProduct Ref(Product), FromPO Ref(PurchaseOrder) CREATE TABLE InventoryPurchase OF ROW TYPE InventoryPurchaseObj; β) i) SELECT DISTINCT e.empname WHERE p.supplied SupplierName = Smith OR p.supplied SupplierName = Jones ) 4

ii) SELECT DISTINCT e.empname WHERE p.supplied SupplierName = Smith ) AND 1<= (SELECT COUNT(*) WHERE p.supplied SupplierName = Jones ) iii) SELECT DISTINCT e.empname o FROM TABLE (po.items) inv WHERE inv.forproduct HasCategory CategoryName = A )) Σημειώνουμε ότι οι λύσεις είναι ενδεικτικές και πιθανόν να υπάρχουν και διαφορετικοί τρόποι λύσης. 5