> For the complete documentation index, see [llms.txt](https://opendata-cityofathens-gr.gitbook.io/guides/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://opendata-cityofathens-gr.gitbook.io/guides/diaxeirisi-dedomenon/synola-dedomenon/anartisi-dedomenon/diamorfosi-dedomenon.md).

# Διαμόρφωση δεδομένων

#### **Table Designer έναντι Δημοσίευσης αρχείου και Δημοσίευσης συνδέσμου**

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

Αντίθετα, το **Table Designer** χρησιμοποιεί τον αποθηκευτικό χώρο του συστήματος ως την κύρια πηγή δεδομένων.

* Οι γραμμές μπορούν να δημιουργούνται, να ενημερώνονται και να διαγράφονται μεμονωμένα.
* Η επικύρωση τύπων και οι περιορισμοί εφαρμόζονται, ώστε να μην αναμειγνύονται εσφαλμένα δεδομένα με έγκυρα.
* Τα πρωτεύοντα κλειδιά είναι εγγυημένα μοναδικά, επιτρέποντας τη δημιουργία συνδέσεων μεταξύ πόρων.

Αυτό καθιστά τους πόρους του **Table Designer** ιδιαίτερα κατάλληλους για δεδομένα που ενημερώνονται σταδιακά, όπως δεδομένα αναφοράς, λεξιλόγια και χρονοσειρές.

Κατά τη δημιουργία ενός νέου πόρου, επιλέγουμε **"Table Designer"** (<img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FTxdrZHBQL3IeNJhf8Ofe%2Fimage.png?alt=media&#x26;token=28cc6120-c760-414d-bb69-fbcd5febde0f" alt="" data-size="line">). Αυτό θα δημιουργήσει αυτόματα έναν κενό πίνακα στον αποθηκευτικό χώρο του συστήματος και μια προβολή DataTables.

Μετά την αποθήκευση του πόρου, μεταβαίνουμε στη φόρμα **"Λεξικό Δεδομένων"** για να ξεκινήσουμε τη δημιουργία πεδίων.

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FMwR4rj7lfUW60hKKozZ6%2Fimage.png?alt=media&#x26;token=f8bca56c-dea1-4097-ac47-f51cb33db65a" alt="" width="563"><figcaption></figcaption></figure>

Ένας νέος πόρος δεν περιέχει προκαθορισμένα πεδία.\
Χρησιμοποιούμε το κουμπί **"Add field"** (<img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FamBCayezbSoOYkR9yqNF%2Fimage.png?alt=media&#x26;token=4a9174bf-6a1d-4458-bba8-6ff319c6b9d7" alt="" data-size="line">) στη φόρμα **Λεξικό Δεδομένων** για να προσθέσουμε πεδία στα δεδομένα.

Κάθε πεδίο μπορεί να προσαρμοστεί με τα εξής χαρακτηριστικά:

* **ID**: Το ID χρησιμοποιείται ως όνομα στήλης στη βάση δεδομένων του αποθηκευτικού χώρου συστήματος.
* **Obligation**: Η υποχρέωση πεδίου έχει προεπιλεγμένη τιμή το **προαιρετικό**.

  * **Προαιρετικό (Optional):** χωρίς περιορισμούς
  * **Υποχρεωτικό (Required):** δεν μπορεί να είναι NULL ή κενό
  * **Πρωτεύον Κλειδί (Primary Key):** απαιτείται και είναι εγγυημένα μοναδικό εντός του πίνακα

  Αν πολλαπλά πεδία οριστούν ως πρωτεύοντα κλειδιά, ο συνδυασμός των τιμών σε κάθε γραμμή χρησιμοποιείται για τον προσδιορισμό της μοναδικότητας.
* **Pattern**: Έκφραση ορισμένη με τρόπο ώστε να καλύψει περιπτώσεις επί παραδείγματι: Το κείμενο να ξεκινά με "Αν" και να τελειώνει σε δύο ψηφία.
* **Ετικέτα**: Η ετικέτα είναι μια φιλική προς τον χρήστη εκδοχή του ID, που εμφανίζεται στην προεπισκόπηση του πίνακα δεδομένων, στο Data Dictionary, σε φόρμες και σε πρότυπα Excel.
* **Περιγραφή**: Η περιγραφή του πεδίου είναι κείμενο σε μορφή Markdown που εμφανίζεται στο **Λεξικό Δεδομένων**, ως βοήθεια σε φόρμες και σε πρότυπα Excel.

Οι τύποι των πεδίων είναι οι ακόλουθοι:

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FXagP2jrETp5efmohjejP%2Fimage.png?alt=media&#x26;token=a73fc61a-e391-44f6-bbb8-3b15614d51fe" alt=""><figcaption></figcaption></figure>

* **Κείμενο**: Τα πεδία κειμένου περιέχουν συμβολοσειρές οποιουδήποτε μήκους. Μπορεί να εφαρμοστεί περιορισμός μέσω κανονικής έκφρασης (regular expression). Όταν αλλάζει το μοτίβο, εφαρμόζεται μόνο σε νέες γραμμές ή γραμμές που ενημερώνονται, όχι σε υπάρχουσες.\
  Αν το πεδίο χρησιμοποιείται ως μέρος πρωτεύοντος κλειδιού, τα κενά πριν και μετά το κείμενο αφαιρούνται αυτόματα.
* **Choice**: Τα πεδία επιλογής είναι πεδία κειμένου που περιορίζουν τον χρήστη στην επιλογή μίας από τις προκαθορισμένες επιλογές. Οι επιλογές εισάγονται στο πεδίο **Choices**, μία ανά γραμμή.\
  Αν αφαιρεθεί μια επιλογή που υπάρχει ήδη στα δεδομένα, η αντίστοιχη γραμμή θα πρέπει να ενημερωθεί ώστε να περιέχει μία από τις τρέχουσες επιλογές για να γίνει αποδεκτή η αλλαγή.
* **Email Address**: Πεδίο κειμένου περιορισμένο σε μία έγκυρη διεύθυνση email, σύμφωνα με το πρότυπο: <https://html.spec.whatwg.org/#valid-e-mail-address>
* **URI**: Πεδίο κειμένου για συνδέσμους (URLs)
* **Universally unique identifier**: Πεδίο 128-bit που γράφεται ως ακολουθία 32 δεκαεξαδικών ψηφίων χωρισμένων με παύλες.
* **Numeric**: Πεδία με ακριβείς δεκαδικές τιμές, έως 131072 ψηφία πριν την υποδιαστολή και 16383 μετά.\
  Μπορούν να οριστούν ελάχιστες και μέγιστες τιμές για περιορισμό του εύρους (π.χ. ελάχιστο 0 για αποφυγή αρνητικών αριθμών).
* **Integer**: Πεδία 64-bit ακέραιων αριθμών με εύρος από -9223372036854775808 έως +9223372036854775807.\
  Υποστηρίζονται περιορισμοί ελάχιστης και μέγιστης τιμής.
* **Boolean**: Πεδία που μπορούν να έχουν τιμή **TRUE** ή **FALSE**.
* **JSON**: Πεδία που μπορούν να περιέχουν οποιοδήποτε έγκυρο JSON. Διατηρείται η μορφοποίηση και η σειρά των κλειδιών.
* **Date**: Δέχεται τιμές μορφής **YYYY-MM-DD.**\
  Μπορούν να οριστούν ελάχιστες και μέγιστες ημερομηνίες.
* **Timestamp**: Δέχεται τιμές μορφής **YYYY-MM-DD hh:mm:ss.ssssss.**\
  Υποστηρίζονται περιορισμοί ελάχιστης και μέγιστης χρονικής στιγμής.

Μετά τον ορισμό τον τύπων των πεδίων καταλήγουμε σε μία δομή τύπου φόρμας Excel, έχοντας ορίσει τους τύπους των πεδίων ενδεικτικά όπως παρακάτω:

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2F8pBUImxhzohSXeil94nH%2Fimage.png?alt=media&#x26;token=d1d3ea6b-e510-4210-b00e-52d51c4e4a83" alt="" width="563"><figcaption></figcaption></figure>

Ο πρώτος τρόπος να εισαγάγουμε δεδομένα κάνοντας χρήση τη νεοδημιουργηθείσα φόρμα, είναι μέσω του **"Add row"** (<img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FfFQ089CBcDW2qb6QlR3c%2Fimage.png?alt=media&#x26;token=7a2d25b7-b790-465f-906d-5e3a81edcc20" alt="" data-size="line">). Ενεργοποιείται η ακόλουθη φόρμα με κενά πεδία, για να εισαγουμε τις τιμές και στη συνέχεια **"Αποθήκευση"** (<img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FKeFJ46hNTkRCJ4PgRJ2E%2Fimage.png?alt=media&#x26;token=0e802cdd-fbc9-4e99-8929-ea8fba93a52d" alt="" data-size="line">).

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2Fz6PRNHZK0ffej6ka66gL%2Fimage.png?alt=media&#x26;token=d0a21e0d-acbf-4106-ac86-0f1e0e32cfc2" alt="" width="563"><figcaption></figcaption></figure>

Μετά την εισαγωγή των τιμών εμφανίζεται η νέα συμπληρωμένη πια γραμμή στον πίνακα του πόρου:

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2F27GJS2bszubYPWw2ZE0s%2Fimage.png?alt=media&#x26;token=15163e1b-7588-4826-bb8e-0825ef188e2b" alt=""><figcaption></figcaption></figure>

Ο Δεύτερος τρόπος εισαγωγής δεδομένων, επιτυγχάνεται μέσα από την επιλογή "**Download Excel Template**" για να κατεβάσουμε ένα καθαρό αρχείο προτύπου τύπου `.xlsx`.

Ανοίγουμε το πρότυπο σε εφαρμογή υπολογιστικών φύλλων συμβατή με Excel, όπως **Microsoft Excel**, **LibreOffice**, **Google Docs** ή άλλη παρόμοια εφαρμογή.

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FmozgHK0dfWwxNfQuibNy%2Fimage.png?alt=media&#x26;token=a282d2c6-2f48-4771-9f2e-c07bda210cd6" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FCPR2OC8NHhW1IyujLO7z%2Fimage.png?alt=media&#x26;token=eeddc5df-f4be-4fb5-83b9-b85858d5795e" alt=""><figcaption></figcaption></figure>

**Πλοήγηση στο πρότυπο Excel και επικύρωση δεδομένων**

Κάνουμε κλικ σε έναν από τους τίτλους των στηλών ή στο φύλλο **“reference”** για να μεταβούμε στην καρτέλα αναφοράς, η οποία περιέχει πληροφορίες για το πεδίο, όπως περιγραφές και περιορισμούς.

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FJv4EyO96t57qSPHai4QS%2Fimage.png?alt=media&#x26;token=a7407180-cb56-4e75-8cf2-d0c711dbac09" alt="" width="342"><figcaption></figcaption></figure>

Κάνοντας κλικ στο όνομα του πεδίου στην καρτέλα αναφοράς, επιστρέφουμε αυτόματα στα δεδομένα.

* **Κελιά που είναι υποχρεωτικά αλλά δεν περιέχουν δεδομένα** εμφανίζονται με <mark style="background-color:blue;">**μπλε φόντο**</mark> κατά την εισαγωγή.
* **Κελιά με μη έγκυρες τιμές** εμφανίζονται με <mark style="background-color:red;">**κόκκινο φόντο**</mark>.

**Εντοπισμός και διόρθωση σφαλμάτων στο πρότυπο Excel**

* **Διπλότυπα πρωτεύοντα κλειδιά**,
* **Τιμές εκτός ορίων**,
* **Τιμές που δεν περιλαμβάνονται στις επιλογές**,
* **Τιμές σε μη έγκυρη μορφή**\
  επισημαίνονται ως σφάλματα.

Για γρήγορη πλοήγηση σε σφάλματα ή κενές τιμές, κάνουμε κλικ στα **λεπτά περιγράμματα κελιών** στην αριστερή στήλη (**στήλη A**) ή στην κορυφή κάτω από τα ονόματα πεδίων (**γραμμή 3**). Αυτό είναι ιδιαίτερα χρήσιμο σε μεγάλα πρότυπα.

Αφού διορθωθούν τα σφάλματα, αποθηκεύουμε το αρχείο και το ανεβάζουμε μέσω του πεδίου επιλογής αρχείου **"Upload template data"** (<img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FdruGCkShm0GumWdDZ75s%2Fimage.png?alt=media&#x26;token=3a9f7303-a05b-43cc-b179-bcad9f4a6b3c" alt="" data-size="line">) κάτω από την προεπισκόπηση.

Πριν ανεβάσουμε το .xlsx αρχείο κάνουμε χρήση του **“Check for Errors”** για να τα επικυρώσουμε από τον διακομιστή χωρίς να δημιουργηθούν ή να ενημερωθούν γραμμές.

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FHGCvqjeO95KQN4exP5Lf%2Fimage.png?alt=media&#x26;token=52ff9796-7a5f-469c-b70b-0d4f82e752c8" alt=""><figcaption></figcaption></figure>

**Επεξεργασία υπαρχουσών γραμμών**

Επιλέγουμε τις γραμμές που θέλουμε να επεξεργαστούμε από την προεπισκόπηση του πίνακα δεδομένων και κάνουμε κλικ στο κουμπί **"Edit in Excel"** (<img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FzooLcWsXaVjNSTOihpzD%2Fimage.png?alt=media&#x26;token=af755f6a-a578-4ae1-a9d4-3118bf68f0fa" alt="" data-size="line">) πάνω από τον πίνακα, για να κατεβάσουμε ένα αρχείο προτύπου Excel με τα δεδομένα.

<figure><img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FDhqppu6jomvflw9g4w2P%2Fimage.png?alt=media&#x26;token=eb2037df-4eef-4187-946c-de008985241a" alt=""><figcaption></figcaption></figure>

Αυτό το πρότυπο είναι παρόμοιο με το καθαρό πρότυπο, με τις εξής διαφορές:

* Περιλαμβάνει μια στήλη **\_id** στην αριστερή πλευρά, η οποία είναι μόνο για ανάγνωση
* Δεν περιέχει επιπλέον γραμμές για προσθήκη νέων δεδομένων
* Μόνο οι επιλεγμένες γραμμές μπορούν να επεξεργαστούν

Κάνουμε τις απαραίτητες αλλαγές στο αρχείο, το αποθηκεύουμε και το ανεβάζουμε μέσω του πεδίου επιλογής αρχείου **"Upload template data"** (<img src="https://1222479415-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYr3pQAmKwBCUQhilmIv3%2Fuploads%2FUxQs5sZbfmZ9YM7utSSU%2Fimage.png?alt=media&#x26;token=e472b543-d7dd-4c41-bb7a-86f6cd57859a" alt="" data-size="line">) κάτω από την προεπισκόπηση.

**Διαγραφή γραμμών**

Επιλέγουμε μία ή περισσότερες γραμμές από την προεπισκόπηση του πίνακα δεδομένων και κάνουμε κλικ στο κουμπί **“Delete rows”** πάνω από τον πίνακα.

Κάνουμε κλικ στο **“Delete”** για να επιβεβαιώσουμε τη διαγραφή των επιλεγμένων δεδομένων.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://opendata-cityofathens-gr.gitbook.io/guides/diaxeirisi-dedomenon/synola-dedomenon/anartisi-dedomenon/diamorfosi-dedomenon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
