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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύστημα υποβολής αιτήσεων υποψήφιων συνεργατών ΕΚΤ

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

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

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

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

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

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

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

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

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

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

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

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

«Διαδικτυακό Σύστημα Ηλεκτρονικής Διαχείρισης και Διάθεσης Μαθημάτων»

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

ΕΠΛ 342 Βάσεις εδοµένων

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

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

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

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

Document Scanning System Ιανουάριος, 2014

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ ΕΝΟΤΗΤΑ «ΕΙΣΡΟΕΣ»

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

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

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης

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

ER Diagram Συσχετίσεις Ασθενείς Οντότητες Παράδειγμα ER.. Εργαστήριο Βάσεων Δεδομένων. Entity-Relationship Diagram (ER)

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

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

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων

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

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

CRM για Εκπαιδευτικούς Φορείς

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

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

ΟΠΣ-ΕΣΠΑ : ΕΚΠΑΙΔΕΥΤΙΚΟΣ ΟΔΗΓΟΣ ΣΥΜΠΛΗΡΩΣΗΣ ΕΠΙΤΟΠΙΩΝ ΕΠΑΛΗΘΕΥΣΕΩΝ/ΕΛΕΓΧΩΝ. Ειδική Υπηρεσία Ολοκληρωμένου Πληροφοριακού Συστήματος

Σύστημα Ηλεκτρονικής Υποβολής Αιτήσεων Κατασκευών Κεραιών. Εγχειρίδιο Χρήσης Εγγραφής Ραδιοφωνικών Σταθμών

Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή

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

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ ΕΝΟΤΗΤΑ «ΕΣΟΔΑ ΕΡΓΩΝ»

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

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

Εγχειρίδιο διαχείρισης χρηστών και λιστών διανομής για τον Υπεύθυνο Φορέα του Δικτύου "Σύζευξις" -1-

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ. Αρ. Μητρώου: 06/3083

Οδηγό ς Σχ. Έτόυς

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

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

«Σύστημα ΔΕΠ» ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Έκδοση 1.1

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

1. Αίτηση Εισαγωγής Μεταπτυχιακού / Διδακτορικού Φοιτητή

Τ.Ε.Ι ΘΕΣΣΑΛΟΝΙΚΗΣ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΔΒΔ (ΕΡΓΑΣΤΗΡΙΟ 4) Τελευταία ενημέρωση: 11/2011. Μετασχηματισμός διαγράμματος ER σε σχεσιακό σχήμα ΒΔ

Ηλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 2. Διαφάνεια 1. Κάπαρης Αναστάσιος

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Διαχείριση Αξιόγραφων

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

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

Οδηγίες χρήσης εφαρμογής Ε.Ο.Π.Υ.Υ - Σύστημα Ηλεκτρονικής Προέγκρισης Φαρμάκων για Θεράποντες Ιατρούς

Υποσύστημα Πρακτικής Άσκησης Εγχειρίδιο χρήσης Φορέα

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

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

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

ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ. Ηλεκτρονική Υποβολή Α.Π.. Οικοδοµοτεχνικών Έργων

Νοέμβριος Εγχειρίδιο χρήσης και Ανάλυση λειτουργιών. Project Extranet. Ηλεκτρονική Υποβολή και Διαχείριση Φακέλου Μελέτης Φυσικού Αερίου

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

Πληροφοριακό Σύστημα Διαχείριση Προμηθειών Συνοπτικές Οδηγίες Χρήσης για Σχολικές Μονάδες

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΟΛΟΚΛΗΡΩΜΕΝΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ (ΟΠΣ) ΓΙΑ ΤΗΝ ΠΡΟΓΡΑΜΜΑΤΙΚΗ ΠΕΡΙΟΔΟ ΣΕΣ

Πίνακας Περιεχομένων. Εγχειρίδιο Χρήσης Υπηρεσίες Φοιτητή Σελίδα 1 / 10

Management Classes Create Class Create Class Management Classes List of Classes

ΑΕΕ ONLINE 2012 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

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

DELETE, UPDATE, INSERT.

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

ΕΦΑΡΜΟΓΗ ΗΛΕΚΤΡΟΝΙΚΗΣ ΕΓΓΡΑΦΗΣ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

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

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

DELETE, UPDATE, INSERT

Εγχειρίδιο Εισαγωγής Στοιχείων στο Πληροφοριακό Σύστημα του προγράμματος Εξοικονόμηση Κατ Οίκον ΙΙ, για την υποβολή αιτήσεων

Transcript:

Πίνακας Περιεχομένων 1 Ανάλυση Απαιτήσεων Πληροφοριακού Συστήματος... 3 1.1 Ανάλυση απαιτήσεων του Υποσυστήματος Μητρώου Εταιρειών Μ.Μ.Ε.. 3 1.2 Ανάλυση απαιτήσεων του Υποσυστήματος Ελέγχου τήρησης μη Μονοπωλιακής Θέσης Εταιρειών Μ.Μ.Ε... 7 2 Μοντέλο Οντοτήτων-Συσχετίσεων της ΒΔ του ΠΣ... 8 2.1 Περιγραφή Οντοτήτων... 9 2.2 Περιγραφή Σχέσεων... 10 3 Σχεσιακό Διάγραμμα της ΒΔ του ΠΣ... 15 4 Υλοποίηση εφαρμογών του ΠΣ με χρήση PLSQL... 18 4.1 Περιγραφή PLSQL procedures... 18 4.2 Περιγραφή PLSQL functions... 19 5 Περιβάλλον Χρηστών... 20 5.1 Ιστοσελίδα Login... 20 5.2 Ιστοσελίδες γραμματέα Τμήματος Ελέγχου Διαφάνειας... 21 5.3 Ιστοσελίδες νομικού ελεγκτή... 36 5.4 Ιστοσελίδες οικονομικού ελεγκτή... 39 6 Αναφορές... 40 ΠΑΡΑΡΤΗΜΑ Ι ΠΑΡΑΡΤΗΜΑ ΙΙ

1. Ανάλυση Απαιτήσεων Πληροφοριακού Συστήματος Η παρούσα αναφορά περιγράφει τη βασική λειτουργικότητα και τις σχεδιαστικές αποφάσεις που αφορούν την υλοποίηση των υποσυστημάτων Μητρώου Εταιρειών Μ.Μ.Ε. και Ελέγχου Τήρησης μη Μονοπωλιακής Θέσης Εταιρειών Μ.Μ.Ε. του ΟΠΣ για το Εθνικό Συμβούλιο Ραδιοτηλεόρασης (Ε.Σ.Ρ.). Το πληροφοριακό σύστημα θα χρησιμοποιηθεί από τη γραμματεία του Τμήματος Ελέγχου Διαφάνειας. Στην ενότητα αυτή παρουσιάζονται οι απαιτήσεις που πρέπει να ικανοποιεί το Πληροφοριακό Σύστημα. Περιγράφονται οι βασικές λειτουργίες που πρέπει να επιτελεί, η πληροφορία που πρέπει να αποθηκεύει και οι κανόνες που επιβάλλει η λειτουργία του συστήματος. 1.1 Ανάλυση Απαιτήσεων του υποσυστήματος Μητρώου Εταιρειών Μ.Μ.Ε. Το υποσύστημα Μητρώου Εταιρειών Μ.Μ.Ε. υλοποιεί τη μηχανογράφηση του Μητρώου που τηρεί το Ε.Σ.Ρ. με πληροφορίες για τη λειτουργία όλων των εθνικών επιχειρήσεων Μ.Μ.Ε. Βασική απαίτηση από το υποσύστημα είναι λοιπόν η αποθήκευση πληροφοριών για τις εγγεγραμμένες εταιρείες. Από τις πληροφορίες αυτές πρέπει να προκύπτουν η κατηγορία της εταιρείας, το ιστορικό της διοικητικής και της μετοχικής της σύνθεσης, η νομιμότητα της εταιρείας και τα στοιχεία επικοινωνίας (πχ αριθμοί τηλεφώνου, fax, e-mails). Συγκεκριμένα, οι διαφορετικές κατηγορίες που θεωρούνται είναι τηλεοπτικό μέσο, ραδιοφωνικό μέσο, διαδικτυακό μέσο, έντυπο μέσο. Το υποσύστημα πρέπει να επιτρέπει την επισκόπηση των στοιχείων των εγγεγραμμένων στο Μητρώο Μ.Μ.Ε. εταιρειών καθώς και των μετοχικών και διοικητικών συνθέσεών τους κάθε δεδομένη χρονική στιγμή. Πρέπει να υποστηρίζεται και η διόρθωση λανθασμένων στοιχείων. Οι διοικητικές και μετοχικές συνθέσεις των διάφορων εταιρειών αποτελούνται από φυσικά πρόσωπα. Για αυτό το υποσύστημα πρέπει να αποθηκεύει λεπτομέρειες για διάφορα φυσικά πρόσωπα, σχετιζόμενα με εταιρείες Μ.Μ.Ε.. Υπάρχει η απαίτηση για εισαγωγή νέου φυσικού προσώπου ή ενημέρωση των στοιχείων ενός υπάρχοντος. Σημαντική απαίτηση είναι η παρουσίαση αναφοράς για τις εταιρείες Μ.Μ.Ε. στις οποίες είναι μέτοχος ένα συγκεκριμένο φυσικό πρόσωπο και τα αντίστοιχα ποσοστά συμμετοχής. Η κυριότερη απαίτηση από το υποσύστημα είναι η αυτοματοποίηση της εγγραφής μίας νέας εταιρείας στο Μητρώο του Ε.Σ.Ρ.. Η νέα εταιρεία παραδίδει φάκελο με αίτηση εγγραφής και διάφορα απαραίτητα έγγραφα. Η γραμματεία του Τμήματος Ελέγχου

Διαφάνειας είναι υπεύθυνη για την καταχώρηση των στοιχείων της υποψήφιας εταιρείας και των εγγράφων του φακέλου της στο σύστημα. Τα απαιτούμενα έγγραφα είναι πολλών ειδών και εξαρτώνται από τον τύπο της εταιρείας. Λόγω μεγάλης πολυπλοκότητας, το σύστημα δεν κατηγοριοποιεί τους διάφορους τύπους εγγράφων, αλλά αποθηκεύει και μία περιγραφή για κάθε δικαιολογητικό έγγραφο του φακέλου. Στη συνέχεια πρέπει να πραγματοποιηθεί νομικός και οικονομικός έλεγχος του φακέλου υποψηφίου. Για το σκοπό αυτό το σύστημα παρουσιάζει στους οικονομικούς και νομικούς ελεγκτές τους φακέλους εταιρειών που έχει ολοκληρωθεί η καταχώρησή τους από τη γραμματεία, ώστε αυτοί να πραγματοποιήσουν τους αντίστοιχους ελέγχους. Το σύστημα πρέπει να επιβάλλει τη σειρά των ελέγχων εμφανίζοντας πχ στον οικονομικό ελεγκτή μόνο φακέλους που έχουν περάσει επιτυχώς τον νομικό έλεγχο. Μετά την ολοκλήρωση των ελέγχων και σε περίπτωση αποτυχίας, η γραμματεία πρέπει να έχει πρόσβαση στις αναφορές των ελεγκτών, ώστε να μπορεί να τις αποστείλει στην υποψήφια εταιρεία. Η εταιρεία μπορεί να παραδώσει επιπλέον ή ενημερωμένα δικαιολογητικά, τα οποία επισυνάπτονται στο φάκελό της, ώστε να ξεκινήσει νέα διαδικασία ελέγχων. Σε περίπτωση επιτυχίας, η γραμματεία μπορεί να εισάγει τη μετοχική και τη διοικητική σύνθεση που έχει δηλώσει η υποψήφια εταιρεία, ώστε η τελευταία να εισαχθεί επιτυχώς στο ηλεκτρονικό μητρώο από το σύστημα. Το σύστημα παράγει αυτόματα και τη βεβαίωση εγγραφής, η οποία πρέπει στη συνέχεια να αποσταλεί στην υποψήφια εταιρεία. Για τις προηγούμενες εργασίες είναι απαραίτητο το σύστημα να γνωρίζει την κατάσταση της αίτησης κάθε υποψήφιας εταιρείας, ώστε να μπορεί αυτόματα να παρέχει λειτουργικότητα για τις κατάλληλες κάθε φορά ενέργειες. Όλες οι απαιτούμενες λειτουργικότητες από το υποσύστημα Μητρώου Εταιρειών Μ.Μ.Ε. φαίνονται στο επόμενο UML διάγραμμα χρήσης (use case diagram). Η διαδικασία εγγραφής στο μητρώο Μ.Μ.Ε. παρουσιάζεται αναλυτικότερα σε ένα UML διάγραμμα δραστηριότητας (activity diagram).

1.2 Ανάλυση Απαιτήσεων του υποσυστήματος Ελέγχου μη Μονοπωλιακής Θέσης Εταιρειών Μ.Μ.Ε. Το υποσύστημα Ελέγχου Τήρησης μη Μονοπωλιακής Θέσης Εταιρειών Μ.Μ.Ε. είναι υπεύθυνο για την πραγματοποίηση ενός ελέγχου νομιμότητας της μετοχικής σύνθεσης μίας εταιρείας Μ.Μ.Ε. Συγκεκριμένα για κάθε μέτοχο μίας εταιρείας Μ.Μ.Ε. πρέπει να ισχύουν όλοι οι ακόλουθοι περιορισμοί, ώστε να εξασφαλίζεται η μη μονοπωλιακή του θέση: 1. Για κάθε εταιρεία (ξεχωριστά) στην οποία ανήκει ο μέτοχος, πρέπει το ποσοστό των μετοχών του να μην υπερβαίνει το 5%. 2. Αν ανήκει σε παραπάνω από μια εταιρείες Μ.Μ.Ε., πρέπει να μην ανήκει ταυτόχρονα σε δυο ή περισσότερες της ίδιας κατηγορίας. (Για τις διαφορετικές κατηγορίες εταιρειών βλέπε παράγραφο 1.1) 3. Αν ανήκει σε παραπάνω από μια εταιρείες ΜΜΕ και δεν παραβιάζεται ο προηγούμενος περιορισμός, τότε πρέπει: (α) να ισχύει ο περιορισμός 1 για κάθε εταιρεία Μ.Μ.Ε. ξεχωριστά, και (β) το άθροισμα των ποσοστών του μετόχου για όλες τις εταιρείες στις οποίες συμμετέχει δεν πρέπει να υπερβαίνει το 15%. Το υποσύστημα αυτό απαιτείται να παρέχει στο υποσύστημα Μητρώου Εταιρειών Μ.Μ.Ε. τις λειτουργικότητες εισαγωγής μετοχικής και διοικητικής σύνθεσης για μία νέα εταιρία και επιπλέον να δίνει δυνατότητα για επικαιροποίηση της μετοχικής ή διοικητικής σύνθεσης μίας εταιρείας που είναι ήδη εγγεγραμμένη στο Μητρώο Μ.Μ.Ε.. Σε κάθε ανανέωση της μετοχικής σύνθεσης, το υποσύστημα πρέπει να πραγματοποιεί τον έλεγχο τήρησης μη μονοπωλιακής θέσης για κάθε μέτοχο της νέας σύνθεσης και να μην πραγματοποιεί την ανανέωση, όταν ο έλεγχος αποτυγχάνει για κάποιο μέτοχο. Όλες οι απαιτούμενες λειτουργικότητες από το υποσύστημα Τήρησης μη Μονοπωλιακής Θέσης Εταιρειών Μ.Μ.Ε. φαίνονται στο επόμενο UML διάγραμμα χρήσης (use case diagram). Οι διαδικασίες ενημέρωσης μετοχικής και διοικητικής σύνθεσης. παρουσιάζονται αναλυτικότερα σε ένα UML διάγραμμα δραστηριότητας (activity diagram).

2. Μοντέλο Οντοτήτων-Συσχετίσεων της ΒΔ του ΠΣ Στην ενότητα αυτή δίνεται η περιγραφή του μοντέλου Οντοτήτων-Συσχετίσεων (Entity-Relationship Diagram) από το οποίο υλοποιείται το Σχεσιακό Διάγραμμα της Βάσης Δεδομένων του Πληροφοριακού Συστήματος.

2.1 Περιγραφή Οντοτήτων Οι βασικές οντότητες είναι οι παρακάτω: Εταιρεία Μ.Μ.Ε.: Αναπαριστά τις εταιρείες Μ.Μ.Ε. που υπάρχουν στο πληροφοριακό σύστημα. Οι ιδιότητες που περιέχει αντιστοιχούν στα στοιχεία της εταιρείας. Παρέχεται και η ιδιότητα Κατηγορία, η οποία υποδεικνύει τον τύπο της εταιρείας. Οι τιμές που επιτρέπονται για αυτή την ιδιότητα είναι τηλεοπτικό μέσο, ραδιοφωνικό μέσο, διαδικτυακό μέσο, έντυπο μέσο, όπως προκύπτουν από τις προδιαγραφές. Τρέχουσα Μετοχική Σύνθεση: Αναπαριστά την μετοχική σύνθεση της κάθε εταιρείας που βρίσκεται σε ισχύ. Περιέχεται η ιδιότητα Ημερομηνία Επικαιροποίησης, η οποία δείχνει την ημερομηνία που αυτή η μετοχική σύνθεση τέθηκε σε ισχύ και καταχωρήθηκε στο σύστημα. Τρέχουσα Διοικητική Σύνθεση: Αναπαριστά την διοικητική σύνθεση της κάθε εταιρείας που βρίσκεται σε ισχύ. Περιέχεται η ιδιότητα Ημερομηνία Επικαιροποίησης, η οποία δείχνει την ημερομηνία που αυτή η διοικητική σύνθεση τέθηκε σε ισχύ και καταχωρήθηκε στο σύστημα. Ιστορικό Μετοχικών Συνθέσεων: Αναπαριστά όλες τις μετοχικές συνθέσεις της κάθε εταιρείας. Περιέχονται οι ιδιότητες Ημερομηνία Επικαιροποίησης και Ημερομηνία Λήξης, οι οποίες δείχνουν για κάθε μετοχική σύνθεση την ημερομηνία που αυτή τέθηκε σε ισχύ και καταχωρήθηκε στο σύστημα και την ημερομηνία που έπαψε να ισχύει αντίστοιχα. Ιστορικό Διοικητικών Συνθέσεων: Αναπαριστά όλες τις διοικητικές συνθέσεις της κάθε εταιρείας. Περιέχονται οι ιδιότητες Ημερομηνία Επικαιροποίησης και Ημερομηνία Λήξης, οι οποίες δείχνουν για κάθε διοικητική σύνθεση την ημερομηνία που αυτή τέθηκε σε ισχύ και καταχωρήθηκε στο σύστημα και την ημερομηνία που έπαψε να ισχύει αντίστοιχα. Φυσικό Πρόσωπο: Αναπαριστά τα φυσικά πρόσωπα που σχετίζονται ή σχετίζονταν στο παρελθόν με εταιρείες Μ.Μ.Ε., είτε ως μέτοχοι είτε ως μέλη του διοικητικού τμήματος. Οι ιδιότητες που περιέχει αντιστοιχούν στα στοιχεία του φυσικού προσώπου. Φάκελος Υποψηφίου: Αναπαριστά το φάκελο που κατατίθεται από κάθε υποψήφια προς εισαγωγή στο Μητρώο εταιρεία. Αποτελεί ασθενή οντότητα, που εξαρτάται από την οντότητα Εταιρεία Μ.Μ.Ε.. Περιέχει τις ιδιότητες Αίτηση Εγγραφής, Ημερομηνία Δημιουργίας, και Κατάσταση Αίτησης. Η ιδιότητα Αίτηση Εγγραφής αντιστοιχεί στην αίτηση εγγραφής που κατέθεσε η υποψήφια εταιρεία,

η ιδιότητα Ημερομηνία Δημιουργίας αντιστοιχεί στην ημερομηνία δημιουργίας του φακέλου που σχετίζεται με την αίτηση εγγραφής της εταιρείας, και η ιδιότητα Κατάσταση Αίτησης δείχνει την κατάσταση της αίτησης που έχει καταθέσει η εταιρεία και χρησιμοποιείται από το Πληροφοριακό Σύστημα για τον κατάλληλο χειρισμό της αίτησης. Δικαιολογητικό Έγγραφο: Αναπαριστά τα δικαιολογητικά έγγραφα που κατατίθενται από τις υποψήφιες εταιρείες. Η ιδιότητα Είδος Δικαιολογητικού αποτελεί μια περιγραφή του τύπου του εγγράφου που κατατίθεται. Έκθεση Νομικού Ελέγχου: Αντιστοιχεί στο αποτέλεσμα του νομικού ελέγχου που πραγματοποιείται κατά τη διάρκεια επεξεργασίας της αίτησης εισαγωγής μιας εταιρείας στο Μητρώο Μ.Μ.Ε.. Έκθεση Οικονομικού Ελέγχου: Αντιστοιχεί στο αποτέλεσμα του οικονομικού ελέγχου που πραγματοποιείται κατά τη διάρκεια επεξεργασίας της αίτησης εισαγωγής μιας εταιρείας στο Μητρώο Μ.Μ.Ε.. Έκθεση Ελέγχου: Αντιστοιχεί στο αποτέλεσμα του τελικού ελέγχου που πραγματοποιείται κατά τη διάρκεια επεξεργασίας της αίτησης εισαγωγής μιας εταιρείας στο Μητρώο Μ.Μ.Ε.. Μητρώο Μ.Μ.Ε. : Αναπαριστά τις εταιρείες που έχουν εισαχθεί επιτυχώς στο Μητρώο Μ.Μ.Ε.. Η ιδιότητα Βεβαίωση Εγγραφής αντιστοιχεί στην βεβαίωση που παράγει αυτόματα το σύστημα κατά την εισαγωγή της εταιρείας στο Μητρώο. 2.2 Περιγραφή Σχέσεων Οι βασικές σχέσεις είναι οι παρακάτω: Έχει ΜΣ: Αναπαριστά τη σχέση μιας εταιρείας με την τρέχουσα μετοχική της σύνθεση. Η συμμετοχή είναι υποχρεωτική από την πλευρά την οντότητας Τρέχουσα Μετοχική Σύνθεση καθώς μια υπάρχουσα μετοχική σύνθεση πρέπει να αντιστοιχεί σε μια εταιρεία, αλλά όχι από την πλευρά της εταιρείας καθώς μια εταιρεία που δεν έχει εισαχθεί επιτυχώς στο Μητρώο δεν έχει καταχωρημένη μετοχική σύνθεση στο σύστημα. Η σχέση είναι 1:1, γιατί κάθε μετοχική σύνθεση αντιστοιχεί ακριβώς σε μια εταιρεία ενώ κάθε εταιρεία μπορεί να έχει μια (το πολύ) τρέχουσα μετοχική σύνθεση. Έχει ΔΣ: Αναπαριστά τη σχέση μιας εταιρείας με την τρέχουσα διοικητική της σύνθεση. Η συμμετοχή είναι υποχρεωτική από την πλευρά την οντότητας Τρέχουσα Διοικητική Σύνθεση καθώς μια υπάρχουσα διοικητική σύνθεση πρέπει να αντιστοιχεί σε μια εταιρεία, αλλά όχι από την πλευρά της εταιρείας καθώς μια

εταιρεία που δεν έχει εισαχθεί επιτυχώς στο Μητρώο δεν έχει καταχωρημένη διοικητική σύνθεση στο σύστημα. Η σχέση είναι 1:1, γιατί κάθε διοικητική σύνθεση αντιστοιχεί ακριβώς σε μια εταιρεία ενώ κάθε εταιρεία μπορεί να έχει μια (το πολύ) τρέχουσα διοικητική σύνθεση. Έχει ιστορικό ΜΣ: Αναπαριστά τη σχέση μιας εταιρείας με τις μετοχικές συνθέσεις που έχουν ισχύσει για κάθε χρονική στιγμή από την καταχώρηση της εταιρείας στο Μητρώο Μ.Μ.Ε.. Η συμμετοχή είναι υποχρεωτική από την πλευρά την οντότητας Ιστορικό Μετοχικών Συνθέσεων καθώς μια υπάρχουσα μετοχική σύνθεση πρέπει να αντιστοιχεί ή να αντιστοιχούσε σε μια εταιρεία, αλλά όχι από την πλευρά της εταιρείας καθώς μια εταιρεία που δεν έχει εισαχθεί επιτυχώς στο Μητρώο δεν έχει καμία καταχωρημένη μετοχική σύνθεση στο σύστημα. Η σχέση είναι 1:Ν, γιατί κάθε μετοχική σύνθεση αντιστοιχεί (ή αντιστοιχούσε) ακριβώς σε μια εταιρεία ενώ κάθε εταιρεία μπορεί να έχει λειτουργήσει με πολλές μετοχικές συνθέσεις. Έχει ιστορικό ΔΣ: Αναπαριστά τη σχέση μιας εταιρείας με τις διοικητικές συνθέσεις που έχουν ισχύσει για κάθε χρονική στιγμή από την καταχώρηση της εταιρείας στο Μητρώο Μ.Μ.Ε.. Η συμμετοχή είναι υποχρεωτική από την πλευρά την οντότητας Ιστορικό Διοικητικών Συνθέσεων καθώς μια υπάρχουσα διοικητική σύνθεση πρέπει να αντιστοιχεί ή να αντιστοιχούσε σε μια εταιρεία, αλλά όχι από την πλευρά της εταιρείας καθώς μια εταιρεία που δεν έχει εισαχθεί επιτυχώς στο Μητρώο δεν έχει καμία καταχωρημένη διοικητική σύνθεση στο σύστημα. Η σχέση είναι 1:Ν, γιατί κάθε διοικητική σύνθεση αντιστοιχεί (ή αντιστοιχούσε) ακριβώς σε μια εταιρεία ενώ κάθε εταιρεία μπορεί να έχει λειτουργήσει με πολλές διοικητικές συνθέσεις. Ανήκει σε ΜΣ: Αναπαριστά τη συμμετοχή ενός φυσικού προσώπου σε μια τρέχουσα μετοχική σύνθεση. Παρέχει την ιδιότητα Ποσοστό, η οποία εκφράζει το ποσοστό των μετοχών τις οποίες κατέχει το συγκεκριμένο πρόσωπο σε αυτή τη μετοχική σύνθεση. Η συμμετοχή είναι υποχρεωτική από την πλευρά της οντότητας Τρέχουσα Μετοχική Σύνθεση, καθώς μια μετοχική σύνθεση πρέπει να αποτελείται από τουλάχιστον ένα μέτοχο, αλλά όχι από την πλευρά της οντότητας Φυσικό Πρόσωπο, καθώς κάθε πρόσωπο δεν είναι υποχρεωτικό να συμμετέχει σε κάποια μετοχική σύνθεση. Η πολλαπλότητα της σχέσης είναι Ν:Μ, γιατί κάθε μετοχική σύνθεση μπορεί να αποτελείται από πολλούς μετόχους, και κάθε φυσικό πρόσωπο μπορεί να είναι μέτοχος σε περισσότερες από μια εταιρείες.

Ανήκει σε ΔΣ: Αναπαριστά τη συμμετοχή ενός φυσικού προσώπου σε μια τρέχουσα διοικητική σύνθεση. Παρέχει την ιδιότητα Θέση, η οποία εκφράζει τη θέση του συγκεκριμένου προσώπου σε αυτή τη διοικητική σύνθεση. Η συμμετοχή είναι υποχρεωτική από την πλευρά της οντότητας Τρέχουσα Διοικητική Σύνθεση, καθώς μια διοικητική σύνθεση πρέπει να αποτελείται από τουλάχιστον ένα φυσικό πρόσωπο, αλλά όχι από την πλευρά της οντότητας Φυσικό Πρόσωπο, καθώς κάθε πρόσωπο δεν είναι υποχρεωτικό να συμμετέχει σε κάποια διοικητική σύνθεση. Η πολλαπλότητα της σχέσης είναι Ν:Μ, γιατί κάθε διοικητική σύνθεση μπορεί να αποτελείται από πολλά φυσικά πρόσωπα, και κάθε φυσικό πρόσωπο μπορεί να είναι ανήκει σε περισσότερες από μια διοικητικές συνθέσεις. Άνηκε σε ΜΣ: Όμοια με τη σχέση Ανήκει σε ΜΣ, με τη διαφορά ότι σχετίζει τα φυσικά πρόσωπα με το ιστορικό των μετοχικών συνθέσεων. Άνηκε σε ΔΣ: Όμοια με τη σχέση Ανήκει σε ΔΣ, με τη διαφορά ότι σχετίζει τα φυσικά πρόσωπα με το ιστορικό των διοικητικών συνθέσεων. Είναι εγγεγραμμένη: Αναπαριστά τη σχέση μιας εταιρείας με μια εγγραφή του Μητρώου Μ.Μ.Ε.. Η συμμετοχή είναι υποχρεωτική από την πλευρά του Μητρώου Μ.Μ.Ε., αλλά όχι από την πλευρά της εταιρείας, αφού κάποιες εταιρείες μπορεί να βρίσκονται στη διαδικασία ελέγχου. Η πολλαπλότητα της σχέσης είναι 1:1. Αφορά την: Αναπαριστά τη σχέση ανάμεσα σε μια εταιρεία Μ.Μ.Ε. και το φάκελο που δημιουργείται με την καταχώρηση της αίτησης εγγραφής της εταιρείας στο Μητρώο Μ.Μ.Ε., και είναι η προσδιοριστική σχέση της οντότητας Φάκελος Υποψηφίου. Η πολλαπλότητα της σχέσης είναι 1:1 και προφανώς η συμμετοχή είναι υποχρεωτική για την οντότητα Φάκελος Υποψηφίου. Περιέχει: Αναπαριστά τη σχέση ανάμεσα σε ένα δικαιολογητικό έγγραφο και το φάκελο που το περιέχει. Η συμμετοχή είναι υποχρεωτική από την πλευρά των δικαιολογητικών, αφού κάθε δικαιολογητικό έγγραφο θα πρέπει να καταχωρείται σε κάποιον φάκελο, αλλά όχι από την πλευρά του φακέλου αφού ένας φάκελος δεν είναι απαραίτητο να περιέχει δικαιολογητικά έγγραφα. Η πολλαπλότητα της σχέσης είναι 1:Ν. Περιέχει νομικό έλεγχο: Αναπαριστά τη σχέση ανάμεσα σε μια έκθεση νομικού ελέγχου και το φάκελο που την περιέχει. Η συμμετοχή είναι υποχρεωτική από την πλευρά της έκθεσης νομικού ελέγχου, αφού κάθε μια θα πρέπει να καταχωρείται σε κάποιον φάκελο, αλλά όχι από την πλευρά του φακέλου αφού ένας φάκελος δεν είναι απαραίτητο να περιέχει έκθεση νομικού ελέγχου σε οποιαδήποτε χρονική στιγμή. Η πολλαπλότητα της σχέσης είναι 1:Ν, καθώς μπορεί να

υπάρχουν ένας ή περισσότεροι νομικοί έλεγχοι (λόγω αποτυχιών) που σχετίζονται με την αίτηση μιας υποψήφιας εταιρείας. Περιέχει οικονομικό έλεγχο: Αναπαριστά τη σχέση ανάμεσα σε μια έκθεση οικονομικού ελέγχου και το φάκελο που την περιέχει. Η συμμετοχή είναι υποχρεωτική από την πλευρά της έκθεσης οικονομικού ελέγχου, αφού κάθε μια θα πρέπει να καταχωρείται σε κάποιον φάκελο, αλλά όχι από την πλευρά του φακέλου αφού ένας φάκελος δεν είναι απαραίτητο να περιέχει έκθεση οικονομικού ελέγχου σε οποιαδήποτε χρονική στιγμή. Η πολλαπλότητα της σχέσης είναι 1:Ν, καθώς μπορεί να υπάρχουν ένας ή περισσότεροι οικονομικοί έλεγχοι (λόγω αποτυχιών) που σχετίζονται με την αίτηση μιας υποψήφιας εταιρείας. Περιέχει έλεγχο: Αναπαριστά τη σχέση ανάμεσα σε μια έκθεση τελικού ελέγχου και το φάκελο που την περιέχει. Η συμμετοχή είναι υποχρεωτική από την πλευρά της έκθεσης τελικού ελέγχου, αφού κάθε μια θα πρέπει να καταχωρείται σε κάποιον φάκελο, αλλά όχι από την πλευρά του φακέλου αφού ένας φάκελος δεν είναι απαραίτητο να περιέχει έκθεση τελικού ελέγχου σε οποιαδήποτε χρονική στιγμή. Η πολλαπλότητα της σχέσης είναι 1:Ν, καθώς μπορεί να υπάρχουν ένας ή περισσότεροι τελικοί έλεγχοι (λόγω αποτυχιών) που σχετίζονται με την αίτηση μιας υποψήφιας εταιρείας. Τα παραπάνω απεικονίζονται στο παρακάτω σχήμα του ER διαγράμματος του Πληροφοριακού Συστήματος.

3. Σχεσιακό Διάγραμμα της ΒΔ του ΠΣ Σε αυτή την ενότητα περιγράφεται το σχήμα της βάσης. Για την δημιουργία του σχήματος χρησιμοποιήσαμε το διάγραμμα ER που περιγράφηκε στην προηγούμενη ενότητα. Μπορούμε λοιπόν να κάνουμε τις εξής παρατηρήσεις: Για κάθε οντότητα του μοντέλου οντοτήτων-συσχετίσεων, κατασκευάζεται ένας πίνακας στο σχεσιακό διάγραμμα. Τα πεδία και το πρωτεύον κλειδί κάθε πίνακα φαίνονται στο σχήμα και έχουν τη σημασία που περιγράφηκε στο ER. Σε όλους τους πίνακες που αντιστοιχούν σε οντότητες, ως πρωτεύοντα κλειδιά χρησιμοποιούνται αριθμοί που παράγονται αυτόματα από ακολουθίες. Αυτή η επιλογή έγινε για ομοιομορφία, καθώς σε πολλές περιπτώσεις κανένα υποψήφιο κλειδί δεν είχε αριθμητική τιμή με αποτέλεσμα μειωμένη απόδοση στις συνενώσεις. Στο σχήμα, για κάθε υποψήφιο κλειδί υπάρχει αντίστοιχος περιορισμός μοναδικότητας. Για τις σχέσεις που είναι 1:Ν δεν χρειάζεται επιπλέον πίνακας στο σχήμα, γιατί η συσχέτιση μπορεί να υλοποιηθεί με χρήση εξωτερικού κλειδιού στον πίνακα της οντότητας που συμμετέχει στη σχέση με πολλαπλότητα Ν. Αυτό γίνεται στις σχέσεις Έχει ιστορικό ΜΣ και Έχει ιστορικό ΔΣ, και Περιέχει, Περιέχει νομικό έλεγχο, Περιέχει οικονομικό έλεγχο και Περιέχει έλεγχο. Για τις σχέσεις που είναι Μ:Ν απαιτείται επιπλέον πίνακας στο σχήμα, στον οποίο περιέχονται τα ζευγάρια των κλειδιών των πινάκων που αντιστοιχούν στις οντότητες που συσχετίζονται. Ο συνδυασμός των κλειδιών των δυο πινάκων αποτελεί το κλειδί του πίνακα της σχέσης. Αυτό γίνεται στις σχέσεις Ανήκει σε ΜΣ, Ανήκει σε ΔΣ, Άνηκε σε ΜΣ και Άνηκε σε ΔΣ. Για τις σχέσεις που είναι 1:1 δεν απαιτείται η δημιουργία νέου πίνακα, γιατί η σχέση μπορεί να υλοποιηθεί με χρήση του κλειδιού του πίνακα που αντιστοιχεί στην οντότητα χωρίς υποχρεωτική συμμετοχή στη σχέση ως εξωτερικό κλειδί στον άλλο πίνακα, επιβάλλοντας ταυτόχρονα περιορισμό μοναδικότητας στο εξωτερικό κλειδί. Αυτό γίνεται στις σχέσεις Είναι εγγεγραμμένη, Αφορά την, Έχει ΜΣ και Έχει ΔΣ. Στο σχήμα, επιβάλλουμε περιορισμό μοναδικότητας σε κάθε πεδίο που αντιστοιχεί σε ιδιότητα η οποία στο ER αποτελεί πρωτεύον κλειδί αλλά για λόγους απόδοσης χρησιμοποιήθηκε ως πρωτεύον κλειδί αριθμητική τιμή που προκύπτει από ακολουθία. Επιπλέον, επιβάλλουμε περιορισμό μοναδικότητας στο πεδίο ΑΦΜ του πίνακα που αντιστοιχεί στην οντότητα φυσικό πρόσωπο.

Σους πίνακες Ιστορικό ΜΣ και Ιστορικό ΔΣ επιβάλλεται ο περιορισμός η ημερομηνία λήξης μιας μετοχικής ή διοικητικής σύνθεσης να ακολουθεί χρονικά την αντίστοιχη ημερομηνία επικαιροποίησης. Τέλος, περιορίζουμε τις επιτρεπτές τιμές του πεδίου Κατάσταση του πίνακα Φάκελος Υποψηφίου σε [Αναμονή Δικαιολογητικών, Αναμονή Ελέγχου, Αναμονή Μετοχικής Σύνθεσης, Αναμονή Διοικητικής Σύνθεσης, Αποτυχημένος Έλεγχος, Εγγεγραμμένη στο μητρώο], του πεδίου Κατηγορία του πίνακα Εταιρεία Μ.Μ.Ε. σε [τηλεοπτικό μέσο, ραδιοφωνικό μέσο, διαδικτυακό μέσο, έντυπο μέσο], και του πεδίου Αποτέλεσμα των πινάκων Έκθεση Νομικού Ελέγχου, Έκθεση Οικονομικού Ελέγχου και Έκθεση Ελέγχου σε [Επιτυχημένος, Αποτυχημένος, σε Αναμονή]. Στο παράρτημα Ι περιέχεται το script κατασκευής του σχήματος σε Oracle 10g. To script περιέχει επίσης εντολές που κατασκευάζουν ρόλους με διαφορετικά δικαιώματα, οι οποίοι αντιστοιχούν στις διαφορετικές ομάδες χρηστών του συστήματος. Ακολουθεί το σχήμα του σχεσιακού διαγράμματος.

4. Υλοποίηση Εφαρμογών του ΠΣ με χρήση PLSQL Στην ενότητα αυτή αναλύονται οι διαδικασίες και συναρτήσεις που υλοποιούνται με PLSQL και οι οποίες αποτελούν μέρος του Business Logic που έχει περιγραφεί συνοπτικά στις Ενότητες 1.1 και 1.2. 4.1 Περιγραφή PLSQL procedures create_folder(name,vatrn,cat,street,streetno,city,pc,phoneno,fax,email,regappl) Η διαδικασία αυτή εισάγει την υποψήφια εταιρία με στοιχεία name, όπως δίνονται στα αντίστοιχα ορίσματα στον πίνακα με τις εταιρείες. Επίσης, δημιουργεί τον φάκελο της εταιρείας, ο οποίος αρχικά περιέχει μόνο την αίτηση εγγραφής της εταιρείας regappl και βρίσκεται σε κατάσταση Αναμονής Δικαιολογητικών. begin_checks(folderid) Η διαδικασία αυτή μεταβάλλει την κατάσταση της αίτησης της υποψήφιας εταιρείας με id folderid σε Αναμονή Ελέγχων και εισάγει μια κενή έκθεση νομικού ελέγχου στον αντίστοιχο πίνακα. legal_check_success(checkid,comm,name,folderid) Η διαδικασία αυτή εισάγει τα σχόλια comm και το όνομα name του νομικού ελεγκτή που επεξεργάστηκε την αίτηση της εταιρείας με id folderid στην έκθεση νομικού ελέγχου με id checkid στην περίπτωση που ο έλεγχος είναι επιτυχημένος. Δημιουργεί μια κενή έκθεση οικονομικού ελέγχου στον αντίστοιχο πίνακα. legal_check_fail(checkid,comm,name,folderid) Η διαδικασία αυτή εισάγει τα σχόλια comm και το όνομα name του νομικού ελεγκτή που επεξεργάστηκε την αίτηση της εταιρείας με id folderid στην έκθεση νομικού ελέγχου με id checkid στην περίπτωση που ο έλεγχος είναι αποτυχημένος. Δημιουργεί δυο νέες αποτυχημένες εκθέσεις οικονομικού και τελικού ελέγχου στους αντίστοιχους πίνακες, και μεταβάλλει την κατάσταση της αίτησης σε Αποτυχημένος Έλεγχος. economical_check_success(checkid,comm,name,folderid) Η διαδικασία αυτή εισάγει τα σχόλια comm και το όνομα name του οικονομικού ελεγκτή που επεξεργάστηκε την αίτηση της εταιρείας με id folderid στην έκθεση οικονομικού ελέγχου με id checkid στην περίπτωση που ο έλεγχος είναι επιτυχημένος. Δημιουργεί μια κενή έκθεση τελικού ελέγχου στον αντίστοιχο πίνακα. economical_check_fail(checkid,comm,name,folderid) Η διαδικασία αυτή εισάγει τα σχόλια comm και το όνομα name του οικονομικού ελεγκτή που επεξεργάστηκε την αίτηση της εταιρείας με id folderid στην έκθεση

οικονομικού ελέγχου με id checkid στην περίπτωση που ο έλεγχος είναι αποτυχημένος. Δημιουργεί μια νέα αποτυχημένη έκθεση τελικού ελέγχου στον αντίστοιχο πίνακα, και μεταβάλλει την κατάσταση της αίτησης σε Αποτυχημένος Έλεγχος. final_check_success(checkid,comm,name,folderid) Η διαδικασία αυτή εισάγει τα σχόλια comm και το όνομα name του νομικού ελεγκτή που επεξεργάστηκε την αίτηση της εταιρείας με id folderid στην έκθεση τελικού ελέγχου με id checkid στην περίπτωση που ο έλεγχος είναι επιτυχημένος. Μεταβάλλει την κατάσταση της αίτησης της υποψήφιας εταιρείας σε Αναμονή Μετοχικής Σύνθεσης. final_check_fail(checkid,comm,name,folderid) Η διαδικασία αυτή εισάγει τα σχόλια comm και το όνομα name του νομικού ελεγκτή που επεξεργάστηκε την αίτηση της εταιρείας με id folderid στην έκθεση τελικού ελέγχου με id checkid στην περίπτωση που ο έλεγχος είναι αποτυχημένος. Μεταβάλλει την κατάσταση της αίτησης σε Αποτυχημένος Έλεγχος. register_company(cid) Η διαδικασία αυτή δημιουργεί μια εγγραφή για την εταιρεία με id cid στον πίνακα Μητρώο Μ.Μ.Ε.. Επίσης, δημιουργεί τη βεβαίωση εγγραφής της. Τέλος, αλλάζει την κατάσταση της αίτησης της εταιρείας σε Εγγεγραμμένη στο Μητρώο. 4.2 Περιγραφή PLSQL functions process_share_synthesis(idcompany,prot_no,prot_date,pid,perc) RETURNS VARCHAR2 Η συνάρτηση αυτή επικαιροποιεί (ενημερώνει ή εισάγει για πρώτη φορά) τη μετοχική σύνθεση της εταιρείας με id idcompany. Η νέα μετοχική σύνθεση έχει ημερομηνία πρωτοκόλλησης prot_date, αριθμό πρωτοκόλλησης prot_no, και αποτελείται από τα φυσικά πρόσωπα των οποίων τα id περιέχονται στον πίνακα pid και τα οποία συμμετέχουν με ποσοστό που περιέχεται στην αντίστοιχη θέση του πίνακα perc. Πριν την επικαιροποίηση πραγματοποιείται έλεγχος τήρησης μη μονοπωλιακής θέσης για κάθε μέτοχο της νέας μετοχικής σύνθεσης. Η συνάρτηση στην περίπτωση πρώτης επιτυχημένης εισαγωγής μεταβάλλει την κατάσταση της αντίστοιχης αίτησης σε Αναμονή Διοικητικής Σύνθεσης. Τέλος, επιστρέφει ενημερωτικό μήνυμα για την επιτυχία ή το λόγο αποτυχίας της διαδικασίας. process_management_synthesis(idcompany,prot_no,prot_date,pid,pos) RETURNS VARCHAR2 Η συνάρτηση αυτή επικαιροποιεί (ενημερώνει ή εισάγει για πρώτη φορά) τη διοικητική σύνθεση της εταιρείας με id idcompany. Η νέα διοικητική σύνθεση έχει ημερομηνία πρωτοκόλλησης prot_date, αριθμό πρωτοκόλλησης prot_no, και αποτελείται από τα φυσικά πρόσωπα των οποίων τα id περιέχονται στον πίνακα pid

και τα οποία κατέχουν τη θέση που περιγράφεται στην αντίστοιχη θέση του πίνακα pos. Η συνάρτηση στην περίπτωση πρώτης επιτυχημένης εισαγωγής μεταβάλλει την κατάσταση της αντίστοιχης αίτησης σε Εγγεγραμμένη, χρησιμοποιώντας τη διαδικασία register_company. Τέλος, επιστρέφει ενημερωτικό μήνυμα για την επιτυχία της διαδικασίας. Στο παράρτημα ΙΙ περιέχεται ο κώδικας των παραπάνω PLSQL procedures και functions σε Oracle 10g. 5. Περιβάλλον Χρηστών Σε αυτή την ενότητα παρουσιάζεται η λειτουργικότητα του περιβάλλοντος διασύνδεσης χρήστη. Η διασύνδεση του χρήστη γίνεται μέσω JSF ιστοσελίδων. Στις επόμενες υποενότητες περιγράφεται συνοπτικά η χρήση κάθε ιστοσελίδας του περιβάλλοντος από την κατηγορία χρηστών στην οποία αναφέρεται. 5.1 Ιστοσελίδα Login <login.jsp> Αυτή είναι η αρχική σελίδα της εφαρμογής. Παρουσιάζονται δύο πεδία που πρέπει να συμπληρωθούν από ένα χρήστη του συστήματος με τα στοιχεία ταυτοποίησης (username και password) που του έχουν δοθεί. Οι εξουσιοδοτημένοι χρήστες του συστήματος ανήκουν σε τρεις κατηγορίες: γραμματείς, νομικοί ελεγκτές και οικονομικοί ελεγκτές. Ανάλογα με την κατηγορία στην οποία ανήκει ο χρήστης, οδηγείται στην αντίστοιχη αρχική σελίδα για χρήστες αυτής της κατηγορίας.

5.2 Ιστοσελίδες γραμματέα Τμήματος Ελέγχου Διαφάνειας <browsenotregisteredcompanies.jsp > Αυτή είναι η αρχική σελίδα για τον γραμματέα. Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να δει τις εταιρείες που έχουν κάνει αίτηση εγγραφής στο Μητρώο Μ.Μ.Ε., η οποία είναι ακόμα σε εξέλιξη. Μπορεί να επιλέξει κάποια από αυτές για να επεξεργαστεί τα στοιχεία της ή να ασχοληθεί με την αντίστοιχη εκκρεμή αίτηση. Ανάλογα με την κατάσταση της αίτησης της υποψήφιας εταιρείας που επιλέχθηκε, η επεξεργασία αίτησης μπορεί να σημαίνει εισαγωγή δικαιολογητικών, ενημέρωση ότι η διαδικασία ελέγχου είναι σε εξέλιξη, εισαγωγή μετοχικής σύνθεσης, εισαγωγή διοικητικής σύνθεσης, ενημέρωση για αποτυχία των ελέγχων ή ολοκλήρωση της διαδικασίας εγγραφής στο Μητρώο Μ.Μ.Ε.. Επιπλέον, ο χρήστης έχει τη δυνατότητα να επιλέξει μεταξύ των λειτουργιών επισκόπησης των εταιρειών που είναι εγγεγραμμένες στο Μητρώο, δημιουργίας φακέλου υποψηφίου για μία νέα αίτηση εγγραφής από μία νέα εταιρεία Μ.Μ.Ε. και επισκόπησης των φυσικών προσώπων που είναι καταχωρημένα στο σύστημα.

<createfolder.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να εισάγει στο σύστημα μια νέα υποψήφια προς εισαγωγή στο Μητρώο Μ.Μ.Ε. εταιρεία καταχωρώντας τα στοιχεία και δημιουργώντας το φάκελό της, ο οποίος αρχικά περιέχει μόνο την αίτηση εγγραφής της εταιρείας.

<insertcertificate.jsp> Σε αυτή τη σελίδα παρουσιάζονται τα δικαιολογητικά έγγραφα που περιέχει έως τώρα ο φάκελος μίας υποψήφιας εταιρείας, της οποίας η αίτηση βρίσκεται στο στάδιο υποβολής δικαιολογητικών. Ο γραμματέας μπορεί να καταχωρήσει στο σύστημα ένα ακόμη δικαιολογητικό έγγραφο, το οποίο θα επισυναφθεί στο φάκελο της εταιρείας. Μπορεί ακόμα να επιλέξει την ολοκλήρωση του σταδίου αυτού, ώστε η αίτηση να περάσει στο στάδιο των ελέγχων, και συγκεκριμένα του νομικού ελέγχου.

<checkprogress.jsp> Σε αυτή την σελίδα απλά παρουσιάζεται ένα ενημερωτικό μήνυμα στον γραμματέα, ότι η αίτηση εγγραφής μίας συγκεκριμένης εταιρείας βρίσκεται στο στάδιο των νομικών και οικονομικών ελέγχων. <insertsharesynthesis.jsp> Σε αυτή τη σελίδα δίνεται στο γραμματέα η δυνατότητα να εισάγει στο σύστημα τη μετοχική σύνθεση μίας εταιρείας. Απαιτούνται ο αριθμός πρωτοκόλλου και η ημερομηνία πρωτοκόλλησης του εγγράφου που δηλώνει τη μετοχική σύνθεση της εταιρείας, το οποίο πρέπει να έχει αποσταλεί από αυτήν στο Ε.Σ.Ρ.. Πρέπει επίσης όλα τα φυσικά πρόσωπα που συμμετέχουν στη μετοχική σύνθεση να είναι ήδη καταχωρημένα στο σύστημα. Ο γραμματέας πρέπει να επιλέξει ένα-ένα τα φυσικά αυτά πρόσωπα από μία drop-down list με όλα τα φυσικά πρόσωπα που είναι καταχωρημένα στο σύστημα και να συμπληρώσει το αντίστοιχο ποσοστό μετοχών για κάθε ένα. Για διευκόλυνση παρέχονται δύο πεδία αναζήτησης με βάση το όνομα και το επώνυμο, τα οποία αν συμπληρωθούν περιορίζουν κατάλληλα τα περιεχόμενα της drop-down list. Κάθε φορά που εισάγεται ένας επιπλέον μέτοχος αυτός προστίθεται σε ένα πίνακα που τελικά δείχνει ολόκληρη τη μετοχική σύνθεση. Δίνεται η δυνατότητα διαγραφής ενός μετόχου από τον πίνακα αυτό. Όταν ολοκληρωθεί η εισαγωγή της μετοχικής σύνθεσης, αυτή μπορεί να καταχωρηθεί. Το αποτέλεσμα της καταχώρησης εμφανίζεται στο

χρήστη ως μήνυμα που είτε ενημερώνει για την επιτυχία είτε υποδεικνύει τον πρώτο μέτοχο για τον οποίο απέτυχε ο έλεγχος τήρησης μη μονοπωλιακής θέσης και το λόγο της αποτυχίας. <insertμanagementsynthesis.jsp> Σε αυτή τη σελίδα δίνεται στο γραμματέα η δυνατότητα να εισάγει στο σύστημα τη διοικητική σύνθεση μίας εταιρείας. Απαιτούνται ο αριθμός πρωτοκόλλου και η ημερομηνία πρωτοκόλλησης του εγγράφου που δηλώνει τη διοικητική σύνθεση της εταιρείας, το οποίο πρέπει να έχει αποσταλεί από αυτήν στο Ε.Σ.Ρ.. Πρέπει επίσης όλα τα φυσικά πρόσωπα που συμμετέχουν στη διοικητική σύνθεση να είναι ήδη καταχωρημένα στο σύστημα. Ο γραμματέας πρέπει να επιλέξει ένα-ένα τα φυσικά αυτά πρόσωπα από μία drop-down list με όλα τα φυσικά πρόσωπα που είναι καταχωρημένα στο σύστημα και να συμπληρώσει την αντίστοιχη θέση στο διοικητικό σχήμα για κάθε ένα. Για διευκόλυνση παρέχονται δύο πεδία αναζήτησης με βάση το όνομα και το επώνυμο, τα οποία αν συμπληρωθούν περιορίζουν κατάλληλα τα περιεχόμενα της drop-

down list. Κάθε φορά που εισάγεται ένας επιπλέον μέτοχος αυτός προστίθεται σε ένα πίνακα που τελικά δείχνει ολόκληρη τη διοικητική σύνθεση. Δίνεται η δυνατότητα διαγραφής ενός προσώπου από τον πίνακα αυτό. Όταν ολοκληρωθεί η εισαγωγή της διοικητικής σύνθεσης, αυτή μπορεί να καταχωρηθεί. Το αποτέλεσμα της καταχώρησης εμφανίζεται στο χρήστη ως μήνυμα που ενημερώνει για την επιτυχία της καταχώρησης.

<managefailedcheck.jsp> Σε αυτή τη σελίδα παρουσιάζονται στο γραμματέα τα αποτελέσματα των πιο πρόσφατων ελέγχων για την αίτηση εγγραφής μίας εταιρείας στο Μητρώο Μ.Μ.Ε., όταν κάποιος από αυτούς έχει αποτύχει. Εμφανίζονται τα ονοματεπώνυμα και οι αναφορές των ελεγκτών για τον νομικό, οικονομικό και τελικό έλεγχο, ώστε να μπορεί να βρεθεί η αιτία της αποτυχίας. Τέλος, ο γραμματέας έχει τη δυνατότατα να επαναφέρει την αίτηση σε κατάστασή υποβολής δικαιολογητικών, ώστε να μπορεί η υποψήφια εταιρεία να επισυνάψει νέα δικαιολογητικά έγγραφα κατά τις υποδείξεις των ελεγκτών.

<editnotregisteredcompanies.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να επεξεργαστεί τα στοιχεία κάποιας εταιρείας Μ.Μ.Ε. που δεν είναι ακόμη εγγεγραμμένη στο Μητρώο Μ.Μ.Ε.. <browseregistry.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να δει τις εταιρείες που έχουν εισαχθεί επιτυχώς στο Μητρώο Μ.Μ.Ε., και να επιλέξει κάποια από αυτές για να επεξεργαστεί τα στοιχεία της. Επιπλέον, έχει τη δυνατότητα να επιλέξει μεταξύ των λειτουργιών επισκόπησης της μετοχικής ή της διοικητικής σύνθεσης κάποιας εταιρείας για οποιαδήποτε χρονική στιγμή.

<editregisteredcompanies.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να επεξεργαστεί τα στοιχεία κάποιας εταιρείας Μ.Μ.Ε. που είναι ήδη εγγεγραμμένη στο Μητρώο Μ.Μ.Ε..

<sharesynthesismd.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να επιλέξει μια εταιρεία και να δει τη μετοχική της σύνθεση για οποιαδήποτε στιγμή. Για τη λειτουργία αυτή δίνεται η δυνατότητα επιλογής της ημερομηνίας μέσω ενός ημερολογίου.

<managementsynthesismd.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να επιλέξει μια εταιρεία και να δει τη διοικητική της σύνθεση για οποιαδήποτε στιγμή. Για τη λειτουργία αυτή δίνεται η δυνατότητα επιλογής της ημερομηνίας μέσω ενός ημερολογίου.

<browseperson.jsp> Σε αυτή τη σελίδα, ο γραμματέας έχει τη δυνατότητα να βλέπει τα φυσικά πρόσωπα που έχουν καταχωρηθεί στο σύστημα. Μπορεί να επιλέξει ένα φυσικό πρόσωπο για επεξεργασία των στοιχείων του ή να επιλέξει κάποια άλλη από τις λειτουργίες εισαγωγής νέου φυσικού προσώπου στο σύστημα ή αναζήτησης πληροφοριών σχετικά με κάποιο φυσικό πρόσωπο και τις εταιρείες Μ.Μ.Ε. με τις οποίες σχετίζεται.

<editperson.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να επεξεργαστεί τα στοιχεία κάποιου φυσικού προσώπου.

<createperson.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να εισάγει ένα νέο φυσικό πρόσωπο στο σύστημα.

<searchperson.jsp> Σε αυτή τη σελίδα ο γραμματέας έχει τη δυνατότητα να αναζητήσει πληροφορίες σχετικά με κάποιο φυσικό πρόσωπο και τις εταιρείες Μ.Μ.Ε. με τις οποίες σχετίζεται τη στιγμή της αναζήτησης. Μπορεί να αναζητήσει, σύμφωνα με το ονοματεπώνυμο, προσωπικά στοιχεία και στοιχεία επικοινωνίας κάποιου φυσικού προσώπου, και έπειτα μπορεί να επιλέξει από τη λίστα των φυσικών προσώπων που ικανοποιούν τους περιορισμούς της αναζήτησης το πρόσωπο για το οποίο ζητά πληροφορίες σχετικά με τις εταιρείες Μ.Μ.Ε. στις οποίες είναι μέτοχος καθώς και το ποσοστό με το οποίο συμμετέχει. Οι πληροφορίες προβάλλονται στην ίδια σελίδα.

5.3 Ιστοσελίδες του νομικού ελεγκτή <browsecompaniesonlegalcheck.jsp> Αυτή είναι η αρχική σελίδα για τον νομικό ελεγκτή. Σε αυτή τη σελίδα εμφανίζονται οι υποψήφιες προς εγγραφή στο Μητρώο Μ.Μ.Ε. εταιρείες των οποίων επίκειται ο νομικός ή ο τελικός έλεγχος, σε αντίστοιχους πίνακες. Δίνεται στον νομικό ελεγκτή η δυνατότητα επιλογής μιας εταιρείας από τις παραπάνω για την έναρξη του αντίστοιχου ελέγχου.

<dolegalcheck.jsp> Σε αυτή τη σελίδα εμφανίζονται τα δικαιολογητικά έγγραφα που σχετίζονται με τον φάκελο της εταιρείας την οποία αφορά ο νομικός έλεγχος που εκτελείται. Ο νομικός ελεγκτής έχει τη δυνατότητα να συμπληρώσει τα στοιχεία του καθώς και σχόλια που αφορούν τον έλεγχο που πραγματοποιείται και στη συνέχεια να επιλέξει επιτυχία ή αποτυχία του νομικού ελέγχου.

<dofinalcheck.jsp> Σε αυτή τη σελίδα εμφανίζονται τα δικαιολογητικά έγγραφα που σχετίζονται με τον φάκελο της εταιρείας την οποία αφορά ο τελικός έλεγχος που εκτελείται, καθώς και τα αποτελέσματα του νομικού και του οικονομικού ελέγχου που πραγματοποιήθηκαν για την εταιρεία. Ο νομικός ελεγκτής έχει τη δυνατότητα να συμπληρώσει τα στοιχεία του καθώς και σχόλια που αφορούν τον έλεγχο που πραγματοποιείται και στη συνέχεια να επιλέξει επιτυχία ή αποτυχία του τελικού ελέγχου.

5.4 Ιστοσελίδες οικονομικού ελεγκτή <browsecompaniesoneconomicalcheck.jsp> Σε αυτή τη σελίδα εμφανίζονται οι υποψήφιες προς εγγραφή στο Μητρώο Μ.Μ.Ε. εταιρείες των οποίων επίκειται ο οικονομικός έλεγχος. Δίνεται στον οικονομικό ελεγκτή η δυνατότητα επιλογής μιας εταιρείας από τις παραπάνω για την έναρξη του οικονομικού ελέγχου.

<doeconomicalcheck.jsp> Σε αυτή τη σελίδα εμφανίζονται τα δικαιολογητικά έγγραφα που σχετίζονται με τον φάκελο της εταιρείας την οποία αφορά ο οικονομικός έλεγχος που εκτελείται. Ο οικονομικός ελεγκτής έχει τη δυνατότητα να συμπληρώσει τα στοιχεία του καθώς και σχόλια που αφορούν τον έλεγχο που πραγματοποιείται και στη συνέχεια να επιλέξει επιτυχία ή αποτυχία του οικονομικού ελέγχου. 6. Αναφορές Παρακάτω δίνονται αναφορές σε συγγράμματα, κείμενα και ιστοσελίδες που περιέχουν υλικό το οποίο είναι χρήσιμο για τον αναγνώστη. [1] UML Use Case Diagram, http:en.wikipedia.orgwikiuse_case_diagram [2] UML Activity Diagram, http:en.wikipedia.orgwikiactivity_diagram [3] Avi Silberschatz, Henry F Korth, S Sudarshan. Database Systems Concepts, 6th edition, McGraw Hill, 2010. [4] Introduction to Oracle9i: SQL Student Guide

[5] PLSQL basics tutorial, http:www.plsql-tutorial.com [6] PLSQL Collections and Records: http:download.oracle.comdocscdb10501_01appdev.920a9662405_colls.htm [7] Διακήρυξη Ανοικτού Διαγωνισμού για την επιλογή αναδόχου για το έργο «Ολοκληρωμένο Πληροφοριακό Σύστημα Μητρώου Εταιρειών Μέσων Μαζικής Ενημέρωσης (ΟΠΣ Μητρώου ΜΜΕ)» ΠΑΡΑΡΤΗΜΑ Ι Παρακάτω δίνεται το DDL script για την κατασκευή του σχήματος της βάσης δεδομένων του Πληροφοριακού Συστήματος. CREATE TABLE "COMPANY" ( "ID" NUMBER NOT NULL ENABLE, "NAME" VARCHAR2(100) NOT NULL ENABLE, "VAT_RN" NUMBER NOT NULL ENABLE, "CATEGORY" VARCHAR2(30) NOT NULL ENABLE, "ADDRESS_STREET" VARCHAR2(30) NOT NULL ENABLE, "ADDRESS_NO" VARCHAR2(10) NOT NULL ENABLE, "CITY" VARCHAR2(30) NOT NULL ENABLE, "POSTAL_CODE" NUMBER NOT NULL ENABLE, "PHONE_NO" NUMBER NOT NULL ENABLE, "FAX" NUMBER, "EMAIL" VARCHAR2(30), CONSTRAINT "COMPANY_CK1" CHECK (CATEGORY IN ('TV_STATION', 'RADIO_STATION', 'PRESS', 'INTERNET_MEDIA')) ENABLE, CONSTRAINT "COMPANY_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "COMPANY_UK2" UNIQUE ("VAT_RN") ENABLE, CONSTRAINT "COMPANY_UK3" UNIQUE ("NAME") ENABLE ) CREATE TABLE "CUR_MANAGEMENT_SYNTHESIS" ( "ID" NUMBER NOT NULL ENABLE, "PROTOCOL_NO" NUMBER NOT NULL ENABLE, "COMPANY_ID" NUMBER NOT NULL ENABLE, "PROTOCOL_DATE" DATE NOT NULL ENABLE, "UPDATE_DATE" DATE NOT NULL ENABLE, CONSTRAINT "CUR_MANAGEMENT_SYNTHESIS_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "CUR_MANAGEMENT_SYNTHESIS_UK1" UNIQUE ("PROTOCOL_NO") ENABLE, CONSTRAINT "CUR_MANAGEMENT_SYNTHESIS_UK2" UNIQUE ("COMPANY_ID") ENABLE, CONSTRAINT "CUR_MANAGEMENT_SYNTHESIS_FK" FOREIGN KEY ("COMPANY_ID") REFERENCES "COMPANY" ("ID") ENABLE ) CREATE TABLE "CURRENT_SHARE_SYNTHESIS" ( "ID" NUMBER NOT NULL ENABLE, "PROTOCOL_NO" NUMBER NOT NULL ENABLE, "COMPANY_ID" NUMBER NOT NULL ENABLE, "PROTOCOL_DATE" DATE NOT NULL ENABLE, "UPDATE_DATE" DATE NOT NULL ENABLE, CONSTRAINT "CURRENT_SHARE_SYNTHESIS_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "CURRENT_SHARE_SYNTHESIS_UK1" UNIQUE ("PROTOCOL_NO") ENABLE, CONSTRAINT "CURRENT_SHARE_SYNTHESIS_UK2" UNIQUE ("COMPANY_ID") ENABLE, CONSTRAINT "CURRENT_SHARE_SYNTHESIS_FK" FOREIGN KEY ("COMPANY_ID") REFERENCES "COMPANY" ("ID") ENABLE ) CREATE TABLE "FOLDER" ( "COMPANY_ID" NUMBER NOT NULL ENABLE, "REGISTER_APPLICATION" VARCHAR2(1000) NOT NULL ENABLE, "APPLICATION_DATE" DATE,

"STATE" VARCHAR2(50), CONSTRAINT "FOLDER_CK1" CHECK (STATE IN ('PENDING_DOCS','PENDING_CHECK','PENDING_SHARE_SYNTHESIS','PENDING_MANAGEMENT_SYNTHESI S','FAILED_CHECK','REGISTERED')) ENABLE, CONSTRAINT "FOLDER_PK" PRIMARY KEY ("COMPANY_ID") ENABLE, CONSTRAINT "FOLDER_FK" FOREIGN KEY ("COMPANY_ID") REFERENCES "COMPANY" ("ID") ENABLE ) CREATE TABLE "ECONOMICAL_CHECK" ( "ID" NUMBER NOT NULL ENABLE, "RESULT" VARCHAR2(30) NOT NULL ENABLE, "COMMENTS" VARCHAR2(1000), "ECONOMICAL_AGENT" VARCHAR2(40), "CHECK_DATE" DATE NOT NULL ENABLE, "FOLDER_ID" NUMBER NOT NULL ENABLE, CONSTRAINT "ECONOMICAL_CHECK_CK1" CHECK (RESULT IN ('SUCCESSFUL','PENDING','FAILED')) ENABLE, CONSTRAINT "ECONOMICAL_CHECK_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "ECONOMICAL_CHECK_FK" FOREIGN KEY ("FOLDER_ID") REFERENCES "FOLDER" ("COMPANY_ID") ENABLE ) CREATE TABLE "FINAL_CHECK" ( "ID" NUMBER NOT NULL ENABLE, "RESULT" VARCHAR2(30) NOT NULL ENABLE, "COMMENTS" VARCHAR2(1000), "LEGAL_AGENT" VARCHAR2(40), "CHECK_DATE" DATE NOT NULL ENABLE, "FOLDER_ID" NUMBER NOT NULL ENABLE, CONSTRAINT "FINAL_CHECK_CK1" CHECK (RESULT IN ('SUCCESSFUL','PENDING','FAILED')) ENABLE, CONSTRAINT "FINAL_CHECK_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "FINAL_CHECK_FK" FOREIGN KEY ("FOLDER_ID") REFERENCES "FOLDER" ("COMPANY_ID") ENABLE ) CREATE TABLE "PERSON" ( "ID" NUMBER NOT NULL ENABLE, "FIRST_NAME" VARCHAR2(30) NOT NULL ENABLE, "LAST_NAME" VARCHAR2(30) NOT NULL ENABLE, "ID_NO" VARCHAR2(8) NOT NULL ENABLE, "VAR_RN" NUMBER NOT NULL ENABLE, "ADDRESS_STREET" VARCHAR2(30) NOT NULL ENABLE, "ADDRESS_NO" VARCHAR2(10) NOT NULL ENABLE, "CITY" VARCHAR2(30) NOT NULL ENABLE, "POSTAL_CODE" NUMBER NOT NULL ENABLE, "PHONE_NO" NUMBER NOT NULL ENABLE, "MOBILE_NO" NUMBER, "FAX" NUMBER, "EMAIL" VARCHAR2(30), CONSTRAINT "PERSON_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "PERSON_UK1" UNIQUE ("ID_NO") ENABLE, CONSTRAINT "PERSON_UK2" UNIQUE ("VAR_RN") ENABLE ) CREATE TABLE "IS_MANAGER" ( "PERSON_ID" NUMBER NOT NULL ENABLE, "SYNTHESIS_ID" NUMBER NOT NULL ENABLE, "POSITION" VARCHAR2(30) NOT NULL ENABLE, CONSTRAINT "IS_MANAGER_PK" PRIMARY KEY ("PERSON_ID", "SYNTHESIS_ID") ENABLE, CONSTRAINT "IS_MANAGER_FK" FOREIGN KEY ("PERSON_ID") REFERENCES "PERSON" ("ID") ENABLE, CONSTRAINT "IS_MANAGER_FK2" FOREIGN KEY ("SYNTHESIS_ID") REFERENCES "CUR_MANAGEMENT_SYNTHESIS" ("ID") ON DELETE CASCADE ENABLE ) CREATE TABLE "IS_SHAREHOLDER" ( "PERSON_ID" NUMBER NOT NULL ENABLE, "SYNTHESIS_ID" NUMBER NOT NULL ENABLE, "SHARE_PERCENTAGE" NUMBER(5,2) NOT NULL ENABLE, CONSTRAINT "IS_SHAREHOLDER_CON" CHECK ( "SHARE_PERCENTAGE" >0) ENABLE, CONSTRAINT "IS_SHAREHOLDER_PK" PRIMARY KEY ("PERSON_ID", "SYNTHESIS_ID") ENABLE, CONSTRAINT "IS_SHAREHOLDER_FK" FOREIGN KEY ("PERSON_ID") REFERENCES "PERSON" ("ID") ENABLE, CONSTRAINT "IS_SHAREHOLDER_FK2" FOREIGN KEY ("SYNTHESIS_ID")

REFERENCES "CURRENT_SHARE_SYNTHESIS" ("ID") ON DELETE CASCADE ENABLE ) CREATE TABLE "LEGAL_CHECK" ( "ID" NUMBER NOT NULL ENABLE, "RESULT" VARCHAR2(30) NOT NULL ENABLE, "COMMENTS" VARCHAR2(1000), "LEGAL_AGENT" VARCHAR2(40), "CHECK_DATE" DATE NOT NULL ENABLE, "FOLDER_ID" NUMBER NOT NULL ENABLE, CONSTRAINT "LEGAL_CHECK_CK1" CHECK (RESULT IN ('SUCCESSFUL','PENDING','FAILED')) ENABLE, CONSTRAINT "LEGAL_CHECK_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "LEGAL_CHECK_FK" FOREIGN KEY ("FOLDER_ID") REFERENCES "FOLDER" ("COMPANY_ID") ENABLE ) CREATE TABLE "LOGIN" ( "USERNAME" VARCHAR2(30) NOT NULL ENABLE, "PASSWORD" VARCHAR2(30) NOT NULL ENABLE, "ROLE" VARCHAR2(30) NOT NULL ENABLE, CONSTRAINT "LOGIN_PK" PRIMARY KEY ("USERNAME") ENABLE, CONSTRAINT "LOGIN_CON" CHECK ( "ROLE" IN ('SECRETARY','LEGAL_AGENT','ECONOMICAL_AGENT')) ENABLE ) CREATE TABLE "MANAG_SYNTH_HISTORY" ( "ID" NUMBER NOT NULL ENABLE, "PROTOCOL_NO" NUMBER NOT NULL ENABLE, "COMPANY_ID" NUMBER NOT NULL ENABLE, "PROTOCOL_DATE" DATE NOT NULL ENABLE, "UPDATE_DATE" DATE NOT NULL ENABLE, "EXPIRATION_DATE" DATE, CONSTRAINT "MANAG_SYNTH_HISTORY_CON" CHECK ( "EXPIRATION_DATE" IS NULL OR "EXPIRATION_DATE" > "UPDATE_DATE") ENABLE, CONSTRAINT "MANAG_SYNTH_HISTORY_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "MANAG_SYNTH_HISTORY_UK1" UNIQUE ("PROTOCOL_NO") ENABLE, CONSTRAINT "MANAG_SYNTH_HISTORY_FK" FOREIGN KEY ("COMPANY_ID") REFERENCES "COMPANY" ("ID") ENABLE ) CREATE TABLE "MANAGER" ( "PERSON_ID" NUMBER NOT NULL ENABLE, "SYNTHESIS_ID" NUMBER NOT NULL ENABLE, "POSITION" VARCHAR2(30) NOT NULL ENABLE, CONSTRAINT "MANAGER_PK" PRIMARY KEY ("PERSON_ID", "SYNTHESIS_ID") ENABLE, CONSTRAINT "MANAGER_FK" FOREIGN KEY ("PERSON_ID") REFERENCES "PERSON" ("ID") ENABLE, CONSTRAINT "MANAGER_FK2" FOREIGN KEY ("SYNTHESIS_ID") REFERENCES "MANAG_SYNTH_HISTORY" ("ID") ENABLE ) CREATE TABLE "REGISTRY" ( "REGISTRY_NO" NUMBER NOT NULL ENABLE, "COMPANY_ID" NUMBER NOT NULL ENABLE, "REGISTER_DATE" DATE NOT NULL ENABLE, "CERTIFICATE" VARCHAR2(1000) NOT NULL ENABLE, CONSTRAINT "REGISTRY_PK" PRIMARY KEY ("REGISTRY_NO") ENABLE, CONSTRAINT "REGISTRY_UK1" UNIQUE ("COMPANY_ID") ENABLE, CONSTRAINT "REGISTRY_FK" FOREIGN KEY ("COMPANY_ID") REFERENCES "COMPANY" ("ID") ENABLE ) CREATE TABLE "SHARE_SYNTHESIS_HISTORY" ( "ID" NUMBER NOT NULL ENABLE, "PROTOCOL_NO" NUMBER NOT NULL ENABLE, "COMPANY_ID" NUMBER NOT NULL ENABLE, "PROTOCOL_DATE" DATE NOT NULL ENABLE, "UPDATE_DATE" DATE NOT NULL ENABLE, "EXPIRATION_DATE" DATE, CONSTRAINT "SHARE_SYNTHESIS_HISTORY_CON" CHECK ( "EXPIRATION_DATE" IS NULL OR "EXPIRATION_DATE" > "UPDATE_DATE") ENABLE, CONSTRAINT "SHARE_SYNTHESIS_HISTORY_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "SHARE_SYNTHESIS_HISTORY_UK1" UNIQUE ("PROTOCOL_NO") ENABLE, CONSTRAINT "SHARE_SYNTHESIS_HISTORY_FK" FOREIGN KEY ("COMPANY_ID") REFERENCES "COMPANY" ("ID") ENABLE )

CREATE TABLE "SHAREHOLDER" ( "PERSON_ID" NUMBER NOT NULL ENABLE, "SYNTHESIS_ID" NUMBER NOT NULL ENABLE, "SHARE_PERCENTAGE" NUMBER(5,2) NOT NULL ENABLE, CONSTRAINT "SHAREHOLDER_CON" CHECK ( "SHARE_PERCENTAGE" >0) ENABLE, CONSTRAINT "SHAREHOLDER_PK" PRIMARY KEY ("PERSON_ID", "SYNTHESIS_ID") ENABLE, CONSTRAINT "SHAREHOLDER_FK" FOREIGN KEY ("PERSON_ID") REFERENCES "PERSON" ("ID") ENABLE, CONSTRAINT "SHAREHOLDER_FK2" FOREIGN KEY ("SYNTHESIS_ID") REFERENCES "SHARE_SYNTHESIS_HISTORY" ("ID") ENABLE ) CREATE TABLE "SUPPORTING_MATERIAL" ( "ID" NUMBER NOT NULL ENABLE, "TYPE" VARCHAR2(30) NOT NULL ENABLE, "DOCUMENT" VARCHAR2(1000) NOT NULL ENABLE, "FOLDER_ID" NUMBER NOT NULL ENABLE, CONSTRAINT "SUPPORTING_MATERIAL_PK" PRIMARY KEY ("ID") ENABLE, CONSTRAINT "SUPPORTING_MATERIAL_FK" FOREIGN KEY ("FOLDER_ID") REFERENCES "FOLDER" ("COMPANY_ID") ENABLE ) CREATE SEQUENCE "SUPPORTING_MATERIAL_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "SHARE_SYNTHESIS_HISTORY_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "REGISTRY_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "PERSON_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "MANAG_SYNTH_HISTORY_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "LEGAL_CHECK_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "FINAL_CHECK_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "ECONOMICAL_CHECK_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "CURRENT_SHARE_SYNTHESIS_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "CUR_MANAGEMENT_SYNTHE_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE SEQUENCE "COMPANY_SEQ" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE CREATE OR REPLACE TRIGGER "BI_SUPPORTING_MATERIAL" before insert on "SUPPORTING_MATERIAL" for each row begin select "SUPPORTING_MATERIAL_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_SUPPORTING_MATERIAL" ENABLE CREATE OR REPLACE TRIGGER "BI_SHARE_SYNTHESIS_HISTORY" before insert on "SHARE_SYNTHESIS_HISTORY" for each row begin select "SHARE_SYNTHESIS_HISTORY_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_SHARE_SYNTHESIS_HISTORY" ENABLE CREATE OR REPLACE TRIGGER "BI_REGISTRY" before insert on "REGISTRY" for each row

begin select "REGISTRY_SEQ".nextval into :NEW.REGISTRY_NO from dual; end; ALTER TRIGGER "BI_REGISTRY" ENABLE CREATE OR REPLACE TRIGGER "BI_PERSON" before insert on "PERSON" for each row begin select "PERSON_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_PERSON" ENABLE CREATE OR REPLACE TRIGGER "BI_MANAG_SYNTH_HISTORY" before insert on "MANAG_SYNTH_HISTORY" for each row begin select "MANAG_SYNTH_HISTORY_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_MANAG_SYNTH_HISTORY" ENABLE CREATE OR REPLACE TRIGGER "BI_LEGAL_CHECK" before insert on "LEGAL_CHECK" for each row begin select "LEGAL_CHECK_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_LEGAL_CHECK" ENABLE CREATE OR REPLACE TRIGGER "BI_FINAL_CHECK" before insert on "FINAL_CHECK" for each row begin select "FINAL_CHECK_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_FINAL_CHECK" ENABLE CREATE OR REPLACE TRIGGER "BI_ECONOMICAL_CHECK" before insert on "ECONOMICAL_CHECK" for each row begin select "ECONOMICAL_CHECK_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_ECONOMICAL_CHECK" ENABLE CREATE OR REPLACE TRIGGER "BI_CURRENT_SHARE_SYNTHESIS" before insert on "CURRENT_SHARE_SYNTHESIS" for each row begin select "CURRENT_SHARE_SYNTHESIS_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_CURRENT_SHARE_SYNTHESIS" ENABLE CREATE OR REPLACE TRIGGER "BI_CUR_MANAGEMENT_SYNTHESIS" before insert on "CUR_MANAGEMENT_SYNTHESIS" for each row begin select "CUR_MANAGEMENT_SYNTHE_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_CUR_MANAGEMENT_SYNTHESIS" ENABLE CREATE OR REPLACE TRIGGER "BI_COMPANY" before insert on "COMPANY" for each row begin select "COMPANY_SEQ".nextval into :NEW.ID from dual; end; ALTER TRIGGER "BI_COMPANY" ENABLE

******** secretary ******** CREATE ROLE esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON COMPANY TO esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON PERSON TO esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON CUR_MANAGEMENT_SYNTHESIS TO esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON IS_MANAGER TO esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON CURRENT_SHARE_SYNTHESIS TO esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON IS_SHAREHOLDER TO esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON FOLDER TO esr_secretary GRANT INSERT, UPDATE, DELETE, SELECT ON SUPPORTING_MATERIAL TO esr_secretary GRANT INSERT, SELECT ON MANAG_SYNTH_HISTORY TO esr_secretary GRANT INSERT, SELECT ON MANAGER TO esr_secretary GRANT INSERT, SELECT ON SHARE_SYNTHESIS_HISTORY TO esr_secretary GRANT INSERT, SELECT ON SHAREHOLDER TO esr_secretary GRANT INSERT, SELECT ON REGISTRY TO esr_secretary GRANT SELECT ON ECONOMICAL_CHECK TO esr_secretary GRANT SELECT