En aquest tema, detallarem els requisits del projecte final del curs de SQL. Aquest projecte està dissenyat per posar en pràctica tots els coneixements adquirits al llarg del curs, des de les consultes bàsiques fins a les tècniques avançades de manipulació i optimització de dades. A continuació, es presenten els requisits i les especificacions que hauràs de complir per completar el projecte amb èxit.
Objectius del projecte
- Crear i gestionar una base de dades completa: Hauràs de dissenyar i implementar una base de dades que inclogui diverses taules relacionades.
- Realitzar consultes complexes: Utilitzaràs consultes SQL per extreure, filtrar, ordenar i agrupar dades.
- Manipular dades: Hauràs de demostrar la capacitat d'inserir, actualitzar i eliminar dades de la base de dades.
- Optimitzar el rendiment: Implementar índexs i altres tècniques per millorar el rendiment de les consultes.
- Gestionar transaccions: Assegurar la integritat de les dades mitjançant l'ús de transaccions.
- Aplicar funcions avançades: Utilitzar funcions de cadena, numèriques, de data i hora, així com subconsultes i expressions de taula comunes (CTEs).
Descripció del projecte
Escenari
Imagina que has estat contractat per una empresa fictícia anomenada "TechCorp" per desenvolupar una base de dades que gestioni la informació dels seus empleats, projectes i departaments. La base de dades ha de permetre a l'empresa realitzar un seguiment dels projectes en què treballen els empleats, així com gestionar la informació dels departaments.
Requisits específics
-
Disseny de la base de dades:
- Crea una base de dades anomenada
TechCorpDB
. - Defineix les següents taules amb les seves respectives columnes:
Employees
:EmployeeID
(INT, Primary Key)FirstName
(VARCHAR(50))LastName
(VARCHAR(50))Email
(VARCHAR(100))HireDate
(DATE)DepartmentID
(INT, Foreign Key)
Departments
:DepartmentID
(INT, Primary Key)DepartmentName
(VARCHAR(100))
Projects
:ProjectID
(INT, Primary Key)ProjectName
(VARCHAR(100))StartDate
(DATE)EndDate
(DATE)
EmployeeProjects
:EmployeeID
(INT, Foreign Key)ProjectID
(INT, Foreign Key)Role
(VARCHAR(50))
- Crea una base de dades anomenada
-
Inserció de dades:
- Insereix almenys 10 registres a la taula
Employees
. - Insereix almenys 5 registres a la taula
Departments
. - Insereix almenys 5 registres a la taula
Projects
. - Insereix registres a la taula
EmployeeProjects
per associar empleats amb projectes.
- Insereix almenys 10 registres a la taula
-
Consultes SQL:
- Escriu una consulta per obtenir una llista de tots els empleats amb el seu nom complet i el nom del departament al qual pertanyen.
- Escriu una consulta per obtenir una llista de tots els projectes amb els noms dels empleats que hi treballen i el seu rol en el projecte.
- Escriu una consulta per obtenir el nombre d'empleats per departament.
- Escriu una consulta per obtenir els projectes que han començat en els últims 6 mesos.
-
Manipulació de dades:
- Escriu una instrucció per actualitzar el correu electrònic d'un empleat.
- Escriu una instrucció per eliminar un projecte que ja ha finalitzat.
-
Optimització:
- Crea índexs per millorar el rendiment de les consultes més freqüents.
- Analitza el rendiment de les consultes utilitzant les eines d'anàlisi disponibles (com EXPLAIN).
-
Transaccions:
- Escriu una transacció que insereixi un nou empleat i l'associï amb un projecte. Assegura't que la transacció es reverteixi si alguna de les operacions falla.
-
Funcions avançades:
- Utilitza una funció de cadena per concatenar el nom i el cognom dels empleats en una sola columna.
- Utilitza una funció de data per calcular l'antiguitat dels empleats en anys.
Entrega del projecte
Documentació
- Descripció del disseny: Inclou un diagrama de l'esquema de la base de dades i una breu descripció de cada taula i les seves relacions.
- Consultes SQL: Proporciona el codi SQL de totes les consultes, instruccions de manipulació de dades, creació d'índexs i transaccions.
- Anàlisi de rendiment: Inclou una breu anàlisi del rendiment de les consultes optimitzades.
Presentació
- Informe final: Redacta un informe que resumeixi el teu treball, els reptes trobats i com els has resolt.
- Demostració: Prepara una demostració pràctica de la base de dades i les consultes més importants.
Conclusió
Aquest projecte final és una oportunitat per demostrar la teva competència en SQL i la teva capacitat per aplicar els coneixements adquirits en un context pràctic. Assegura't de seguir tots els requisits i de documentar el teu treball de manera clara i detallada. Bona sort!
Curs de SQL
Mòdul 1: Introducció a SQL
Mòdul 2: Consultes bàsiques de SQL
Mòdul 3: Treballar amb múltiples taules
Mòdul 4: Filtratge avançat de dades
- Utilitzar LIKE per a coincidències de patrons
- Operadors IN i BETWEEN
- Valors NULL i IS NULL
- Agrupar dades amb GROUP BY
- Clàusula HAVING
Mòdul 5: Manipulació de dades
Mòdul 6: Funcions avançades de SQL
Mòdul 7: Subconsultes i consultes niades
- Introducció a les subconsultes
- Subconsultes correlacionades
- EXISTS i NOT EXISTS
- Utilitzar subconsultes en les clàusules SELECT, FROM i WHERE
Mòdul 8: Índexs i optimització del rendiment
- Comprendre els índexs
- Crear i gestionar índexs
- Tècniques d'optimització de consultes
- Analitzar el rendiment de les consultes
Mòdul 9: Transaccions i concurrència
- Introducció a les transaccions
- Propietats ACID
- Instruccions de control de transaccions
- Gestionar la concurrència
Mòdul 10: Temes avançats
Mòdul 11: SQL en la pràctica
- Casos d'ús del món real
- Millors pràctiques
- SQL per a l'anàlisi de dades
- SQL en el desenvolupament web