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

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

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

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

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

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

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

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

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

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

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

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

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

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

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

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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

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

Εργαστήριο Βάσεων Δεδομένων. Triggers

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

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

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

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

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

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

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

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


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

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

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

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

Τμήμα Πληροφορικής ΑΠΘ

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

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

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

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

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

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

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

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

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

Δημιουργώντας τον πίνακα διάστασης

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

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

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

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

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

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

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

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

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

Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3

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

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

1.1 Ανάλυση απαιτήσεων του Υποσυστήματος Μητρώου Εταιρειών Μ.Μ.Ε Ανάλυση απαιτήσεων του Υποσυστήματος Ελέγχου τήρησης μη

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

DELETE, UPDATE, INSERT.

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

DELETE, UPDATE, INSERT

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

ΑΠΟΘΗΚΕΥΜΕΝΕΣ ΔΙΑΔΙΚΑΣΙΕΣ

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

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

Βελτιώνω μια λεπτομέρεια, σε σχέση με την Ανακοίνωση από 22/6/2009 (1.4.3)

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

Ακολουθεί η πλήρης ανάλυση της παραµετροποίησης χωρισµένη στις αντίστοιχες ενότητες µε αυτές του module Customization Tools. :

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

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


. Εργαστήριο Βάσεων Δεδομένων. Triggers

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

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

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

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

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

Transcript:

Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη 1 Προσθήκη 5 Σφάλμα 1 Σελ.83, 85, 86, 87 Εσφαλμένο: Τριαδική Αναδρομική Σχέση, Τριαδικές Αναδρομικές Σχέσεις Ορθό: Τριαδική Σχέση, Τριαδικές Σχέσεις Σφάλμα 2 Σελ.160 Εσφαλμένο: Ορθό: Template for username field: Email Label for username field: Email Σφάλμα 3 Σελ.167 Ορθό: Η εφαρμογή μου έχει αριθμό 122... Μ.Μάντακας Σχεδιασμός Πληροφοριακών Συστημάτων - Συμπλήρωμα, Έκδοση 19/2/2011 1/7

Σφάλμα 4 Σελ.174 και 176 Εσφαλμένο: from product p, category c, image i, Ορθό: from product p, category c Σφάλμα 5 Σελ.175 Ορθό: Η Σελίδα 1 έχει προς το παρόν την παρακάτω μορφή (χωρίς την πρώτη στήλη): Σφάλμα 6 Σελ. 194 Η σελίδα υπάρχει 2 φορές Σφάλμα 7 Σελ. 194, 197, 202, 204 Ορθό: Πρέπει να προστεθεί entity object products (πίνακας προϊόντων). Το control object display_page_5_sc κάνει προσπέλαση και στο entity object products. Σφάλμα 8 Σελ. 204 Ορθό: Λείπουν 2 γραμμές στο σχήμα: Το control object display_page_5_sc κάνει προσπέλαση στα entity objects SC_temp (μη αυθεντικοποιημένος πελάτης) ή SC_pers (αυθεντικοποιημένος πελάτης). Σφάλμα 9 Σελ. 227 Εσφαλμένα: Ορθά: delete_quantities_sc delete_quantities_sc_temp delete_quantities_sc_pers update_quantities_sc update_quantities_sc_temp update_quantities_sc_pers Σφάλμα 10 Σελ. 228 Ο κώδικας του πλαισίου δεν χρειάζεται (βλ. και παρακάτω Προσθήκη 3) Μ.Μάντακας Σχεδιασμός Πληροφοριακών Συστημάτων - Συμπλήρωμα, Έκδοση 19/2/2011 2/7

Παρατήρηση 1 Σελ.214 procedure insert_product_to_sc_pers Ο κώδικας είναι σωστός, αλλά η αύξηση της ποσότητας κατά 1 θα μπορούσε να προγραμματιστεί πιο απλά, ως εξής: If l_prod_count > 0 then update SC_pers set quantity = quantity + 1 where product_id = product_to_insert_id and customer_id = authenticated_customer_id ; Προσθήκη 1 - Άσκηση Λίστα Επιλογής: Στατική και Δυναμική λίστα τιμών Στην Επισκόπηση και Αναζήτηση Προϊόντων, και συγκεκριμένα στην αναζήτηση προϊόντων, υπάρχει ήδη μια λίστα επιλογής με στατική λίστα τιμών. Επιτρέπει την επιλογή του πλήθους προϊόντων ανά σελίδα. 1) Αλλάξτε την στατική λίστα τιμών, προσθέτοντας, αφαιρώντας ή τροποποιώντας τιμές. 2) Δημιουργήστε μια δυναμική λίστα τιμών που περιέχει τις διαθέσιμες κατηγορίες προϊόντων με select πάνω στον πίνακα category. select category_name cat_name, id cat_id from category order by 1 Στην συνέχεια, δημιουργήστε μια λίστα επιλογής που χρησιμοποιεί την δυναμική αυτή λίστα τιμών, και επιτρέπει την αναζήτηση προϊόντων που ανήκουν σε μια συγκεκριμένη κατηγορία (ή στο σύνολο των κατηγοριών). Τέλος, θα πρέπει να τροποποιήσετε κατάλληλα και τον κώδικα (select) που δημιουργεί το report του καταλόγου προϊόντων. Μ.Μάντακας Σχεδιασμός Πληροφοριακών Συστημάτων - Συμπλήρωμα, Έκδοση 19/2/2011 3/7

Προσθήκη 2 - Άσκηση Χρήση view Ορίστε στην βάση ένα view για τον κατάλογο προϊόντων. create or replace view product_catalog as select p.image_id, p.id, p.product_name, p.short_description, c.category_name, to_char( p.list_price ) char_list_price, 'add_to_cart_image' add_to_cart_image from product p, category c where p.category_id = c.id ; Στην συνέχεια, δημιουργήστε το report του καταλόγου προϊόντων με select πάνω στο view αυτό. select * from product_catalog ; Προσθήκη 3 Σελ. 223. Η απάντηση στην Άσκηση είναι η παρακάτω: select p.id, -- Use cases 1.2.1a, 1.2.2a p.product_name, p.short_description, p.list_price ' euro' price, sc.quantity, sc.product_id delete_product, -- Use case 1.2.5a sc.product_id store_product_id, -- Use case 1.2.6a from product p, SC_pers sc where p.id = sc.product_id and sc.customer_id = :f_authenticated_customer_id Μ.Μάντακας Σχεδιασμός Πληροφοριακών Συστημάτων - Συμπλήρωμα, Έκδοση 19/2/2011 4/7

Προσθήκη 4 - Άσκηση Επιλογή πολλαπλών γραμμών report με array από checkboxes. Διαδικασία Save for later Στο καρότσι αγορών, προσθέστε την λειτουργία ταυτόχρονης επιλογής πολλαπλών προϊόντων και αποθήκευσης για μελλοντική χρήση (save for later, βλ. Amazon.com). Η λειτουργία αυτή αφαιρεί τα προϊόντα από το καρότσι και τα τοποθετεί σε ένα άλλο είδος καροτσιού. Αυτό επιτρέπει στον χρήστη να διατηρήσει, για πιθανή μελλοντική αγορά, προϊόντα που δεν επιθυμεί να αγοράσει άμεσα. Στο report του μόνιμου (ή του προσωρινού) καροτσιού ορίζουμε ένα array checkboxes με χρήση της συνάρτησης APEX_ITEM.CHECKBOX: select p.id, p.product_name, p.short_description, p.list_price ' euro' price, sc.quantity, sc.product_id delete_product, sc.product_id store_product_id, APEX_ITEM.CHECKBOX ( 3, p.id ) save_for_later from product p, SC_pers sc where p.id = sc.product_id and sc.customer_id = :f_authenticated_customer_id Προσθέστε ένα process Save_for_later και ένα κουμπί Save for later και που θα καλεί το process. Χρησιμοποιείστε το array apex_application.g_f03(i) για να βρήτε τα επιλεγμένα checkboxes ( ο αριθμός 03 του array έχει καθοριστεί από το πρώτο argument, 3, της συνάρτησης APEX_ITEM.CHECKBOX ). Υλοποιείστε το ειδικό αυτό καρότσι με κάποιoν τρόπο. Για παράδειγμα, σκεφτείτε την δυνατότητα χρήσης ενός επιπλέον χαρακτηριστικού, status, στα καρότσια (μόνιμο και προσωρινό), βλ. και σελ.206. Το status, ας πούμε 3, δηλώνει το πραγματικό καρότσι. Το status, ας πούμε 4, δηλώνει το ειδικό καρότσι Save for later. Μ.Μάντακας Σχεδιασμός Πληροφοριακών Συστημάτων - Συμπλήρωμα, Έκδοση 19/2/2011 5/7

Προσθήκη 5 - Άσκηση Εναλλακτικός σχεδιασμός προσωρινού καροτσιού αγορών Προτείνω έναν δεύτερο εναλλακτικό τρόπο υλοποίησης του προσωρινού καροτσιού αγορών: Το προσωρινό καρότσι θα υλοποιηθεί από έναν πίνακα στο σχήμα μας, που έχει τα ίδια χαρακτηριστικά με το μόνιμο καρότσι, εκτός από τον κωδικό συνεδρίας (session_id) που αντικαθιστά τον κωδικό πελάτη: create table SC_temp ( id number(38) not null, product_id number (12) not null, session_id number not null, quantity number (5) not null, status char(1) not null ) ; Αγνοήστε προς το παρόν το χαρακτηριστικό status. Ο κωδικός συνεδρίας είναι ξένο κλειδί που αναφέρεται στο πρωτεύον κλειδί id του πίνακα WWV_FLOW_SESSIONS$ που αποθηκεύει δεδομένα της συνεδρίας και βρίσκεται στο σχήμα FLOWS_030100 της Apex: alter table SC_temp add constraint SC_temp_customer_id_FK foreign key ( session_id ) references FLOWS_030100.WWV_FLOW_SESSIONS$ ( id ) on delete cascade ; Ο περιορισμός ξένου κλειδιού on delete cascade εξασφαλίζει την αυτόματη διαγραφή των γραμμών του προσωρινού καροτσιού που αντιστοιχούν σε μια συνεδρία που έληξε, όταν η Apex διαγράφει την αντίστοιχη γραμμή συνεδρίας από τον πίνακα συνεδριών. Για να γίνει όμως η παραπάνω αναφορά του ξένου κλειδιού από το δικό μας σχήμα στο χαρακτηριστικό του πίνακα του σχήματος της Apex, πρέπει να έχει αποδοθεί στο σχήμα μας ένα προνόμιο (δικαίωμα, priviledge) αναφοράς (references) στο χαρακτηριστικό αυτό. Αυτό γίνεται εκτελώντας, πριν την εντολή alter table, την παρακάτω εντολή grant: Μ.Μάντακας Σχεδιασμός Πληροφοριακών Συστημάτων - Συμπλήρωμα, Έκδοση 19/2/2011 6/7

grant references ( id ) on FLOWS_030100.WWV_FLOW_SESSIONS$ to t1 ; όπου θα αντικαταστήσετε το t1 με το όνομα του δικού σας σχήματος. Η εκτέλεση της εντολής grant πρέπει να γίνει από χρήστη με κατάλληλο δικαίωμα. Ένας τέτοιος χρήστης είναι ο sys της βάσης. Επομένως, τα λογικά βήματα είναι τα εξής: - Συνδεόμαστε ως χρήστης sys στην βάση (χρησιμοποιώντας για παράδειγμα τον SQL-Developer, βλ. Παράρτημα 2 των Σημειώσεων). - Εκτελούμε την εντολή grant - Συνδεόμαστε στο δικό μας σχήμα (χρησιμοποιώντας για παράδειγμα τον SQL- Developer) - Δημιουργούμε τον πίνακα και τους περιορισμούς συμπεριλαμβανομένου και του ξένου κλειδιού. - Προσθέτουμε ένα sequence και ένα trigger για την αυτόματη δημιουργία της τιμής του πρωτεύοντος κλειδιού πριν κάθε εισαγωγή νέας γραμμής με insert. Αφού φτιάξουμε τα αντικείμενα της βάσης, πρέπει να προσθέσουμε και κώδικα επιχειρησιακής λογικής. Ο κώδικας αυτός είναι ανάλογος με τον κώδικα για το μόνιμο καρότσι. Πρέπει, τέλος να δημιουργήσουμε και την κατάλληλη διεπαφή χρήστη: στην σελίδα του καροτσιού, ένα νέο region με ένα report που θα δημιουργείται με select πάνω στον πίνακα του προσωρινού καροτσιού (και τον πίνακα προϊόντων). Αναζητήστε την εντολή grant στο εγχειρίδιο SQL Language Reference της Oracle. Συνδεθείτε ως χρήστης sys με χρήση του SQL-Developer και αναζητήστε στους άλλους χρήστες (other users) το σχήμα της Apex FLOWS_030100, τον πίνακα WWV_FLOW_SESSIONS$, και το χαρακτηριστικό id. Μ.Μάντακας Σχεδιασμός Πληροφοριακών Συστημάτων - Συμπλήρωμα, Έκδοση 19/2/2011 7/7