0% encontró este documento útil (0 votos)
6 vistas28 páginas

Introducción al Lenguaje SQL en Bases de Datos

El documento presenta una introducción al lenguaje SQL, que es utilizado para la manipulación de bases de datos en sistemas de gestión de bases de datos relacionales. Se detallan las instrucciones para la creación, modificación y eliminación de tablas, así como la manipulación y consulta de datos mediante diversas operaciones. Además, se explican las funciones de agregación y las restricciones de integridad que aseguran la coherencia de los datos en las bases de datos.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas28 páginas

Introducción al Lenguaje SQL en Bases de Datos

El documento presenta una introducción al lenguaje SQL, que es utilizado para la manipulación de bases de datos en sistemas de gestión de bases de datos relacionales. Se detallan las instrucciones para la creación, modificación y eliminación de tablas, así como la manipulación y consulta de datos mediante diversas operaciones. Además, se explican las funciones de agregación y las restricciones de integridad que aseguran la coherencia de los datos en las bases de datos.

Traducido por

ScribdTranslations
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Instituto Superior de Ciencias Aplicadas y Tecnología de Sousse

Ingeniería de Bases de Datos


Licenciatura en Ciencias de la Computación

Imen MOALLA
[Link]@[Link]

Año académico: 2020-2021


Le Langage SQL
Lenguaje de Consulta Estructurado

2
Presentación de SQL

SQL es un lenguaje declarativo destinado a la


manipulación de bases de datos dentro de los
SGBDR que responde tanto a las problemáticas
de creación de objetos de base de datos
(modelo), de manipulación de datos, de gestión
de la seguridad, y de tratamientos locales de datos
Es utilizado por los principales SGBDR del mercado:
["Oracle","SQL Server","MySQL","Access","DB2"]

3
Presentación de SQL

Lenguaje de definición de datos (esquema, LDD)


. Creación de tabla (relación): CREAR TABLA
. Modificación de tabla (relación): ALTER TABLE
. Supresión de tabla (relación): ELIMINAR TABLA
. Vues: CREAR VISTA

Lenguaje de manipulación de datos (esquema,


LMD)
. Inserción de tuplas: INSERTAR
. Actualización de tuplas: ACTUALIZAR
. Supresión de tuplas: ELIMINAR

4
Presentación de SQL

Lenguaje de control de datos (LCD)


. Para gestionar los derechos sobre los objetos de la base (creación
de usuarios y asignación de sus derechos
. OTORGAR y REVOCAR

Lenguaje de control de datos (TCL)


. Parala gestión de las transacciones (validación o cancelación)
de modificaciones de datos en la BD)
. INICIO y FIN TRANSACTION
. COMMIT et ROLLBACK

5
Creación de las tablas

La creación de una tabla consiste en definir su nombre,


las columnas que la componen y su tipo
. Sintaxis
Para crear una tabla, se recurre a la instrucción
siguiente :
CREAR TABLA nom_table
(Nom_attribut 1 tipo1,
Nom_attribut 2 type2
……,
CLAVE PRIMARIA(nom_attribut_clé)
CLAVE EXTRANJERA(nom_attribut_clé_étrangère)
REFERENCIASnom_tabla( nom_atributo_clave_extranjera ));

6
Création des tables
Tipo de datos
-NUMERO(N): Entero de N cifras
-NUMERO( N , M ): Real con N cifras en total, M después de la
virgulilla.
-DATE: Date complète (date et/ou heure)
-VARCHAR( N ),VARCHAR2( N ): cadena de N caracteres
(longitud variable).
-CHAR( N ): Cadena de N caracteres (longitud fija).

7
Restricciones de integridad
Una restricción de integridad es una regla que define la
coherencia de un dato o de un conjunto de datos
de la BD
Restricción sobre una columna (restricción-col)

. NULL/NOTNULL: Prohíbe que una columna contenga un valor nulo


. UNIQUE: Se prohíbe que dos tuplas de la relación tengan el mismo valor para
el atributo.

. PRIMARY KEY:définit l'attribut comme la clé primaire

8
Restricciones de integridad
Contrainte sur une table (contrainte-table)
.ÚNICO (lista de atributos): Se prohíbe que dos tuplas de la
la relación tiene los mismos valores para el conjunto de atributos
de la lista.
.PRIMARY KEY(liste d'attributs):Définit les attributs de la liste
como la clave primaria
.CLAVE FORÁNEA (lista de atributos) REFERENCIAS nombre-tabla
[(nomes-cols)]:Contrôle l'intégrité référentielle entre les
atributos de la lista y la tabla y sus columnas especificadas

9
Ejemplo de creación de tablas
Etudiant (NumEtud, NomEtud, PrenomEtud, #NumClass)
Classe (NumClass, NomClass)
CREAR TABLA CLASE (
NUMCLASSENUMBER(5),
NOMCLASSEVARCHAR2(10),
CLAVE PRIMARIA(NUMCLASSE);

CREAR TABLA ESTUDIANTE


NumEtudNÚMERO(5)CLAVE PRIMARIA,
NOMVARCHAR2(10)
PRENOMVARCHAR2(10)
NUMCLASSEVARCHAR2(10)
CLAVE EXTRANJERA(NUMCLASSE)REFERENCIAS CLASE(NUMCLASSE);

10
Supresión / Modificación de una tabla
Supresión de tablas
. Syntaxe
Para eliminar el contenido de una tabla así como su esquema, se
utilise l’instruction qui suit :
ELIMINAR TABLA nom_table ;
Nota: Atención, la eliminación de una tabla genera la
pérdida de los datos que contiene.
. Ejemplo
Para eliminar la tabla ESTUDIANTE así como su contenido, se hace
recurso a la instrucción :
DROPTABLE ESTUDIANTE ;

11
Suprimir / Modificación de una tabla
Modificación de las tablas
Existen varias modificaciones que se pueden realizar en una tabla
donnée:
. Añadir atributos
Después de crear la base de datos, tareas de mantenimiento
parecen a veces necesarios. De ahí la adición de un nuevo atributo:
ALTER TABLE nombre_tabla
ADD(tipo de atributo);
. Ejemplo
Agregar el campo Número de teléfono a la tabla Estudiante equivale a
écrire :
ALTER TABLE Estudiante
AGREGAR(Num_tel varchar(10));

12
Supresión / Modificación de una tabla
. Modificación de atributos
Después de crear la base de datos, se puede modificar el tipo
de un atributo utilizando la siguiente instrucción:
ALTER TABLE nom_table
MODIFICAR(tipo de atributo);

. Ejemplo
Modificar el número de dígitos del campo Num_tel de la tabla
El estudiante necesita recurrir a la instrucción:
ALTERAR TABLA Estudiante
MODIFICAR(Num_tel varchar(8));

13
Manipulación de datos
. Adición de datos
Para agregar una fila (tupla) en una tabla, se procede
comme suit :
INSERTAR EN nom_table
VALORES( valor_atributo1, valor_atributo2,…) ;
. Ejemplo
Dada la tablaEstudiante(NumEstud, nombre, apellido, ciudad). Si
se desea insertar la información de un nuevo estudiante
disponiendo de la siguiente información (1234, Ben Salah, Salah,
Djerba), se escribe :
INSERTAR EN ESTUDIANTE
VALORES(1234, BEN SALAH, SALAH, DJERBA);

14
Manipulación de datos
. Modificación de datos
Para modificar el valor de un atributo relacionado con uno o varios
tuplas de una tabla, se procede de la siguiente manera:
ACTUALIZARnom_tabla
SETattribut1 = valeur1, attribut2 = valeur2
[CONDICIÓNdonde]
. Ejemplo
Modificar la ciudad del estudiante Salah Ben Salah que vive
ahora en Túnez, escribimos en este caso:
ACTUALIZARESTUDIANTE
SETVILLE=TUNIS
WHERENumEtud=1234;

15
Manipulación de datos
.Supresión de datos
Se trata de eliminar uno o varios tupples de una tabla.
Para ello, escribimos:
ELIMINAR DE nom_table
[CONDICIÓNdonde];

. Ejemplo
Eliminar al estudiante deNumEtd 1234 de la tabla
Estudiante, se escribe:
ELIMINAR DE ESTUDIANTE
WHERENumEtd=1234 ;

16
Interrogación de datos
. Generalidades
Se trata de buscar uno o varios tuplas de la base de datos.
Sintaxis:
. Aún nomd’attribut(de colonne)
SELECCIONAR A1,…., A2 . Rjun nombre de relación (de tabla)
. DEFINIDO a partir de cuáles
DE R1,…….,Rm mes tablas el resultado está calculado

[DÓNDE[condición] . ¿Dónde define los predicados de?


selección del resultado
Agrupar por <expresión>; . Agrupar por agrupa las líneas para los
valores iguales en las columnas
Teniendo<expresión>; mencionadas
. Havingsélectionne los grupos de
Ordenar por [ DESC/ASC]; líneas que satisfacen la condición
. Ordenar porpreciso si el orden se realiza de
manera creciente (por defecto) o
decreasing 17
Interrogación de datos
. Proyección
Todos los atributos de una tabla:
SELECCIONAR *

DEnom_tabla;
.Ejemplo
Mostrar la lista de todos los estudiantes
SELECCIONAR * DE ESTUDIANTE;
Algunos atributos:
SELECCIONAR atributo1, atributo2,…
DE nom_table;
. Ejemplo
Mostrar la lista de nombres de los estudiantes
SELECCIONAR NOMBRE

DE ESTUDIANTE
18
Interrogación de datos
. Restricción
Las restricciones se traducen en SQL utilizando el predicado « WHERE »
como sigue :
SELECCIONAR atributo1, atributo2, DE nombre_tabla
CONDICIONES WHERE;
Una condición simple es la comparación entre dos
expresiones o más en medio de un operador lógico (=, !=, <,
<=, >, >=)
. Ejemplo 1
Lista de estudiantes que se llaman Ali
SELECCIONAR * DE ESTUDIANTE
DONDEPRENOM ='ALI';

19
Interrogación de datos
. Ejemplo 3
Lista de estudiantes que no se llaman Ali
SELECCIONAR * DE ESTUDIANTES
DÓNDEPRENOM != 'ALI';
. Ejemplo 4
Liste des étudiants ayant les NumEtd inférieurs à 100
SELECT*FROMETUDIANT
WHERENumEtd < 100;
. Ejemplo 5
Lista de estudiantes cuyos NumEtd están entre 100 y 200
SELECCIONAR * DE ESTUDIANTE
DÓNDE NumEtd ENTRE 100 Y 200;

20
Interrogación de datos
. Uniones
. La unión permite combinar dos o más tablas con el fin de
extraer datos.
. La unión se realiza utilizando una columna común entre las tablas
qui habituellement est la clé primaire
. Cuando una columna proyectada se encuentra en ambas tablas a
unir, el nombre de la columna proyectada debe ir precedido del nombre
de la tabla de donde se extrajeron los datos
. Cuando una columna proyectada se encuentra en una sola entre las
mesas a unir, no es necesario indicar el nombre de la
mesa

21
Interrogación de datos
. Ejemplo de consulta de unión simple:
TablaA (idTablaA,columna1,columna2)
TablaB (idTablaB, columna1, columna2, #idtablaA)

SELECCIONAR TableA.colonne1, colonne 2


DE TableA, TableB
DONDE [Link] = [Link]

. Los alias de tabla sirven para nombrar temporalmente las tablas


de jointura para acortar la instrucción SQL y hacerla más legible.

SELECCIONAR TA.columna1, columna2, columna3


DE TableA TA, TableB TB
DONDE [Link]= [Link]
22
Interrogación de datos
Ejemplo de unión en la misma tabla:

Listar parejas de películas del mismo año.


SELECT [Link], [Link]
DE la Película f1, Película f2
DONDE f1.Título <> f2.Título Y f1.Año = f2.Año

23
Interrogación de datos
Ejemplo de unión entre dos tablas:

Listar las salas de cine que exhiben películas de


2005
SELECCIONAR [Link]
DE Película f, Teatro t
DONDE f.Título = t.Título
Y [Link] = [Link]
Y f1.Año = 2005; 24
Interrogación de datos
Ejemplo de unión entre dos tablas:
STUDENTS [StudNb, Name, Address]
INSCRIPTION [CourseCode, Year, Time, #StudNb]

Enumerar los nombres de los estudiantes inscritos en el curso


BD1-2019
SELECCIONAR [Link]
DE Estudiantes S, INSCRIPCIÓN I
DONDE ([Link]=[Link]) y ([Link] =’BD1-
2019’);

25
Funciones de agregación
. Una función de agregación calcula un valor a partir de una
lista de valores en una columna.
. SQL también permite agrupar tuplas de una relación según
ciertos criterios, como el valor de otra columna.
. Estos operadores se aplican en una cláusula SELECT

SUM:suma de los valores de las tuplas seleccionadas


AVG: promedio de valores
MIN:valeur Minimum
MAX:valeur Maximum
COUNT:nombre de tuples sélectionnées

26
Funciones de agregación
. Ejemplo:

STUDENTS [Number, Name, Address, Age]


INSCRIPTION [#StudNb, #CourseCode, Year, Time]
COURSE [CourseCode, CourseT itle, CreditNb, HoursNb]

Encontrar la edad promedio de los estudiantes que residen en Blois

SELECCIONAR PROMEDIO (Edad) DE ESTUDIANTES


DONDE Dirección= 'Blois';
¿Cuántos estudiantes tenemos?

SELECCIONAR contar(*)
DE LOS ESTUDIANTES ;
27
Funciones de agregación
. Ejemplo:

STUDENTS [Number, Name, Address, Age]


INSCRIPTION [StudNb, CourseCode, Year, Time]
COURSE [CourseCode, CourseT itle, CreditNb, HoursNb]

Donner le nom et l'Agede l’étudiant le plusâgé

SELECCIONAR [Link], [Link]


DE ESTUDIANTES S
DONDE [Link] = (SELECCIONAR MAX ([Link]) DE ESTUDIANTES S2);

28

También podría gustarte