sqlschool.gr logo

articles

Articles of SQLschool.gr Team

An easy way to have a database documentation

Antonios Chatzipavlis
Monday 04 April 2016

Όλοι θέλουμε να έχουμε ένα documentation για κάθε database που παραλαμβάνουμε από άλλους. Μάλιστα εκφράζουμε την δυσαρέσκεια μας όταν κάτι τέτοιο δεν υπάρχει, αλλά αν μας ζητήσουν να φτιάξουμε εμείς κάτι τέτοιο για την database που φτιάχνουμε τότε διαμαρτυρόμαστε ότι αυτό είναι χάσιμο χρόνου ή ότι δεν είναι η δουλεία μας κάτι τέτοιο.

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

Αυτό που ζητάει ένας συνάδελφος σε τεκμηρίωση δεν είναι η "Για σας παιδιά". Θέλει κάτι περιεκτικό σύντομο και αναλυτικό. Ένα ER με τους πίνακες σε πρώτη φάση είναι αρκετό. Επίσης σχόλια μέσα στο κώδικα είναι αρκετά για αυτόν που θα παραλάβει. Αλλά επίσης σημαντικό είναι σχόλια στην δομή των πινάκων και ιδιαίτερα στο τι κάνει κάθε πεδίο.

Αυτό μάλιστα το τελευταίο είναι τόσο μα τόσο εύκολο να γίνει κατά στιγμή μάλιστα που δημιουργούμε το κάθε table που με κάνει να αναρωτιέμαι γιατί δεν γίνεται. Ακόμα και αν δεν γίνει την στιγμή αυτή μπορεί να γίνει εκ των υστέρων.

Εάν χρησιμοποιούμε τον table designer που μας δίνει ο SSMS μπορούμε να βάλουμε περιγραφή στο κάθε πεδίο του πίνακα μας στο Description property που υπάρχει στο Column Properties section. Περιγραφή για το table μπορούμε να βάλουμε στο Description property στο Properties window.

image
Description property στο Properties window

Αν φτιάχνουμε το table με script τότε μπορούμε να κάνουμε την δουλειά αυτή με δύο stored procedures τις sp_addextendedproperty και sp_updateextendedproperty

Note

Δείτε ότι μπορείτε να έχετε τα extended properties και για άλλα objects όπως ASSEMBLY, CONTRACT, EVENT NOTIFICATION, FILEGROUP, MESSAGE TYPE, PARTITION FUNCTION, PARTITION SCHEME, REMOTE SERVICE BINDING, ROUTE, SCHEMA, SERVICE, USER, TRIGGER, TYPE, PLAN GUIDE, NULL

Είναι τόσο απλό και εύκολο που αυτός που θα δει ότι έχουν χρησιμοποιηθεί αυτά θα σας συγκαταλέξει στους σοβαρούς επαγγελματίες.

Για αυτόν πλέον είναι αρκετά εύκολο να έχει μια λίστα που να του δίνει ξεκάθαρα την χρήση του κάθε πεδίου και πίνακα και αυτή την λίστα μπορεί να την βγάλει με το παρακάτω query

select
        schema_name(t.schema_id)    as    SchemaName
    ,    t.name                        as    TableName
    ,    ''                            as    TableDescription
    ,    c.name                        as    ColumnName
    ,    y.name                        as    ColumnType
    ,    c.max_length                as    ColumnLenght
    ,    isnull(p.value,'')            as    ColumnDescription
from sys.tables as t
    inner join sys.columns as c on t.object_id=c.object_id
    inner join sys.types as y on c.system_type_id=y.user_type_id
    left outer join sys.extended_properties as p on p.major_id=t.object_id and p.minor_id=c.column_id and p.class=1
union
select distinct
        schema_name(t.schema_id)    as    SchemaName
    ,    t.name                        as    TableName
    ,    isnull(p.value,'')            as    ColumnDescription
    ,    '','','',''
from sys.tables as t
    left outer join sys.extended_properties as p on p.major_id=t.object_id and p.minor_id=0
order by 1,2,3 desc

Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios Chatzipavlis is a highly experienced Data Solutions Consultant and Trainer. He has been working in the IT industry since 1988, holding various roles such as senior developer, IT Manager, Data & AI Solutions Architect and Consultant.

Since 1995, Antonios has focused on modern technologies and software development tools, primarily by Microsoft. He has specialized in Data & AI since 2000, with expertise in Microsoft Data Platform (SQL Server, Azure SQL Databases, Azure Synapse Analytics, Microsoft Fabric, Power BI, AI) and Databricks.

Antonios is also a Microsoft Certified Trainer (MCT) for over 25 years, has been recognized as a Microsoft Most Valuable Professional (MVP) in Data Platform since 2010 and he is in the Data Expert 40 Powerlist 2024 by Boussias. He is the co-founder and visionary behind XLYTiCA, a company dedicated to Data & AI solutions.

Episode

Task Flows in Microsoft Fabric

image

More Episodes...

Tip

Get Certified: Become a Fabric Data Engineer

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2025 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.