Tema 01. Introducció a les bases de dades i sistemes gestors de bases de dades (SGBD) - aprat50/DAM1-0484-BASES-DE-DADES GitHub Wiki

QUÈ ÉS UNA BASE DE DADES?

Conjunt estructurat de dades que representa entitats (fets o ocurrències del món real) i les seves interrelacions (comparteixen algun vincle entre elles).

No necessàriament el suport ha de ser informàtic:

  • Guia telefònica
  • Biblioteca

Actualment, gràcies al desenvolupament tecnològic, la majoria de base de dades estan en suport digital i són utilitzades per gran part d'aplicacions.

Exemples d'aplicacions que utilitzen bases de dades pel seu funcionament:

  • Whatsapp
  • Facebook
  • Amazon
  • Cercador de Google
  • Videojocs multijugador (MMOG)
  • Tota mena de gestors de continguts (Wordpress, Joomla, Drupal, Prestashop, ...)

ELEMENTS QUE CARACTERITZEN LES INFORMACIONS

  1. Les entitats són els objectes del món real que conceptualitzem. Són identificables, és a dir, distingibles els uns dels altres. I ens interessen algunes (com a mínim una) de les seves propietats.
  2. Els atributs són les propietats de les entitats que ens interessen.
  3. Els valors són els continguts concrets dels atributs, les determinacions concretes que assoleixen.

SISTEMES GESTORS DE BASES DE DADES

Per poder treballar amb la informació continguda en una base de dades (crear la seva estructura, afegir, modificar, eliminar dades, consultar dades) hi ha aplicacions especialitzades en aquesta tasca anomenats Sistemes gestors de base de dades (SGBD)

Definició: És una col·lecció de dades interrelacionades i un conjunt de programes per gestionar-les.

OBJECTIUS D'UN SGBD

  • Proporcionar una forma d'emmagatzemar i recuperar la informació d'una base de dades de manera pràctica i eficient.
  • Oferir als usuaris una visió abstracta de les dades. El sistema oculta certs detalls en la forma en què s'emmagatzemen i es mantenen les dades.

ARQUITECTURA ANSI-SPARC

L'arquitectura ANSI-SPARC és un model conceptual utilitzat per la majoria de sistemes gestors de bases de dades comercials, que estableix una divisió en tres nivells (o capes) per a l'estructura d'una base de dades. Aquests nivells són:

  • Nivell extern o Vista d'usuari.

    Aquest nivell es refereix a les vistes que tenen els usuaris de la base de dades. Una vista d'usuari descriu una part de la base de dades que és rellevant per un usuari en particular.

  • Nivell conceptual.

    Representa l'estructura lògica de la base de dades. És una forma de descriure les dades que s'emmagatzemen dins de la base de dades i com aquestes es relacionen entre si.

  • Nivell intern o físic.

    El nivell intern representa la forma en què la base de dades es representa físicament en el sistema d'emmagatzematge informàtic, és a dir, en un suport físic.

Esquema ANSI-SPARC:

ANSI-SPARC Architecture
de Vries, Arjen. (1999). Content And Multimedia Database Management Systems

AVANTATGES D'UN SGBD

  • Realitzar consultes no predefinides i complexes

    Proporcionen mecanismes per manipular dades (alta, baixa, modificació i consulta) i definir-ne de noves.

  • La independència física i lògica de les dades

    Els canvis dins d'un nivell no tenen efectes sobre un altre nivell.

    • Independència física de dades: Un canvi sobre l’esquema físic no afecta els esquemes lògic ni extern.
    • Independència lògica de dades: Un canvi sobre l’esquema lògic no afecta els esquemes físic ni extern.
  • Minimitzar la redundància de dades

    Definim què volem guardar en el nivell lògic i el SGBD ens ajuda a definir com s’acaba guardant en el nivell físic. Tant la forma d’enregistrar les dades com el manteniment de les relacions entre aquestes, sovint van orientades a minimitzar la redundància (característica no desitjable).

    Definició de redundància:

    1. Abundància excessiva.
    2. INFORMÀTICA Duplicació voluntària, per raons de seguretat, de les informacions d’un fitxer o d’una base de dades.
  • Vetllar per la integritat de les dades

    Podem definir regles semàntiques sobre determinades dades, el SGBD exigeix en tot moment el compliment d’aquestes per mantenir la integritat de les dades.

  • Accés concurrent

    Implementa diferents mecanismes per facilitar l’accés concurrent a les dades (múltiples usuaris treballant sobre la mateixa base de dades).

    Definició de concurrència:

    1. Coincidència en el temps.
    2. Rivalitat d’interessos entre persones que pretenen una mateixa cosa; competència.
  • Seguretat

    Proporciona mecanismes per la definició d’usuaris i permisos sobre la base de dades. Proporciona mecanismes d'encriptació de les dades. L’encarregat de gestionar aquests permisos és un usuari especial anomenat Administrador de la base de dades.

PROPIETATS ACID

És desitjable que les bases de dades compleixin des del punt de vista del treball amb transaccions les 4 característiques que recull l'acrònim ACID (de l'anglès Atomicity, Consistency, Isolation, Durability), en català Atomicitat, Consistència, Aïllament i Durabilitat.

Definició de transacció:
Una transacció de bases de dades consisteix en una sèrie d'una o més operacions executades com una única unitat atòmica de treball.

  • Atomicitat: És l'habilitat d'un SGBD de garantir que, o són executades totes les tasques que intervenen en una transacció, o bé no se n'executa cap.
  • Consistència: La consistència es refereix al fet que la base de dades ha d'estar en un estat quan acaba una transacció que ha de ser coherent amb l'estat que tenia en començar la transacció.
  • Aïllament: L'aïllament es refereix a l'habilitat de les aplicacions de fer que les operacions en una transacció estiguin aïllades de totes les altres operacions.
  • Durabilitat: La durabilitat es refereix a la garantia que un cop un usuari ha estat notificat de l'èxit d'una transacció, aquesta persistirà, no pot ser desfeta.

TIPUS D'USUARIS

Quan parlem de Sistemes Gestors de Bases de Dades hem de diferenciar entre diferents tipologies d'usuaris:

  • Administradors de bases de dades. Són els tècnics informàtics encarregats de la instal·lació i el manteniment del sistema de gestió de bases de dades. També es solen ocupar de la gestió de l'accés i permisos a les bases de dades i del pla de manteniment (còpies de seguretat, emmagatzematge físic, etc.) d'aquestes. En algunes ocasions fins i tot es poden encarregar de les operacions de creació i les bases de dades i dels seus objectes (taules, vistes, índexs...).

  • Programadors d'aplicacions. Són els tècnics informàtics que desenvolupen aplicacions que utilitzaran les bases de dades. És habitual que siguin ells qui s'encarreguin de crear les bases de dades i objectes de la mateixa.

  • Usuaris especialitzats. Són usuaris amb coneixements d'informàtica, o tècnics informàtics, especialitzats en realitzar determinades tasques amb el suport de les bases de dades. Poden accedir a les dades de la base de dades directament mitjançant comandes SQL, enllaçar dades en documents ofimàtics, etc.

  • Usuaris d'aplicacions. Són els usuaris que utilitzen les aplicacions desenvolupades pels programadors.

COMPONENTS FUNCIONALS D'UN SGBD

Arquitectura d'un SGBD

font: https://luzemywonka.wordpress.com/2014/05/06/arquitectura-de-un-sgbd/

  1. Gestor d’emmagatzemament
  • Gestor d’autoritzacions i d’integritat. Comprova que se satisfacin tant les restriccions d’integritat com les autoritzacions dels usuaris per accedir a les dades.

  • Gestor de transaccions. Assegura que la BD es mantingui en un estat de consistència malgrat les fallades del sistema, i també que les transaccions concurrents no s’interfereixin entre elles.

  • Gestor d’arxius. Gestiona la reserva d’espai d’emmagatzemament en disc i les estructures de dades utilitzades per representar la informació emmagatzemada en disc.

  • Gestor de memòria intermèdia. Transfereix les dades des del disc a la memòria principal, i decideix quines dades s’han de tractar en memòria cau. Permet al sistema tractar amb dades de grandària molt superior a la memòria principal.

    A part utilitza unes estructures de dades com arxius de dades, diccionari de dades i índexs.

  1. Processador de consultes
  • Intèrpret del llenguatge de definició de dades (DDL). Interpreta les instruccions del llengutage de definició de dades i registra les definicions al diccionari de dades.

  • Compilador del llenguatge de modificació de dades (DML). Tradueix les instruccions de llenguatge de modificació de dades en un llenguatge de consultes a un pla d'avaluació que consisteix en instruccions de baix nivell que entén el motor davaluació de consultes.

    A part utilitza un motor d'avaluació de consultes, que executa les instruccions de baix nivell generades pel compilador del LMD.

HISTÒRIA DE LES BASES DE DADES

En els següents enllaços podem visualitzar diferents vídeos sobre la història de les bases de dades, així com característiques de les bases de dades no SQL.

Database History

7 Database Paradigms

BIG DATA I BUSINESS INTELLIGENCE (BI)

S’anomena Big Data, dades massives o macrodades, als conjunts d'informació el volum de les quals sobrepassa les capacitats de les eines convencionals de processament de dades.

També es refereix a la recopilació de totes aquestes dades i la nostra capacitat d'utilitzar-les a favor nostre en una àmplia gamma d'àrees, des dels negocis fins a la política.

El Business Intelligence, BI o la intel·ligència de negocis combina anàlisis de negocis, mineria, visualització, eines i infraestructura de dades, a més de pràctiques recomanades per ajudar les empreses a prendre decisions basades en les dades. A la pràctica, implementar la intel·ligència de negocis moderna implica tenir una vista integral de totes les dades de l'organització. A més, consisteix a fer servir aquestes dades per impulsar el canvi, eliminar les ineficiències i adaptar-se ràpidament als canvis del mercat o la demanda.

En els següents enllaços podem visualitzar diferents vídeos sobre Big Data i Business Intelligence (BI):

Big Data
Business Intelligence

⚠️ **GitHub.com Fallback** ⚠️