La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SQL: Structured Query Language

Presentaciones similares


Presentación del tema: "SQL: Structured Query Language"— Transcripción de la presentación:

1 SQL: Structured Query Language
Paul Leger

2 Pregunta rápida: ¿Qué es un esquema?
SQL Un lenguaje concreto para interactuar con una base de datos a través de un motor de base de datos SQL es un implementación concreta de Algebra Relacional, permitiendo adicionalmente agregar, eliminar y modificar datos Además, es posible crear, borrar, modificar esquemas de una base de datos Pregunta rápida: ¿Qué es un esquema?

3 Atención Algebra relacional tiene un comportamiento funcional. Es decir, cada ejecución generaba un resultado nuevo (una nueva relación) y no modificaba las relaciones existentes Las instrucciones de SQL como insert, delete, update no son funcionales, por lo tanto, modifican las tablas

4 Traducción del AR a SQL AR lenguaje conceptual/teórico
SQL lenguaje concreto ¡SQL No es el único!, hay otros como QBE y SchemeQL

5 ADVERTENCIA: ¡Cada motor tienen sus versiones de SQL con sutiles diferencias!

6 Crear Tabla (1) CREATE TABLE Alumno ( Rut INT, Nombre VARCHAR(255),
Apellido VARCHAR(255), Telefono INT, Genero BIT, Primary key (RUT), ); Especialmente en la creación de tablas, cada motor tiene su variación para especificar cómo crear tablas. NOTA: No deben preocuparse, pues los programas que usarán un sistema gráfico para trabajar

7 Crear Tabla (2) CREATE TABLE Evaluacion ( Rut INT, codigoCurso INT,
nota float, primary key (rut, codigoCurso), foreign key (rut) references Alumno (rut), foreign key (codigoCurso) references Curso (codigo), );

8 Insertar datos INSERT INTO nombre_tabla(atributo1,...,atributon) VALUES (dato1,...,daton) Insert into Dueno(rut, nombre, apellido) values(123,’Paul’,’Leger’); NOTA 1: Si se insertan los datos en el MISMO orden que se encuentran definidos en la tabla, se pueden omitir la declaración de atributos, es decir, se vuelve innecesario “(rut, nombre, apellido)” NOTA 2: Si hay atributos que pueden ser nulos que no se desear insertar o pueden tener valores por defecto (ej. seriales), entonces uno debe explícitamente escribir que atributos vamos a utilizar

9 Antes de continuar Las instrucciones de SQL pueden escribir con mayúsculas o minúsculas. Ejemplo: “INSERT” o “insert” Las tablas y/o atributos se pueden escribir con mayúsculas o minúsculas. Ejemplo: “Arrienda” o “arrienda” Los datos si son sensibles a mayúsculas o minúsculas con excepción de Access y Microsoft SQL Server. Ejemplo: “Homero” es diferente a “homero”

10 Proyección / select SELECT [ATRIBUTOS,*] from [TABLE] Ejemplos:
Select * from Dueno Select Nombre, Apellido from Dueno Select distinct Nombre from Dueno NOTA: con distinct, se convierte realmente proyección de AR) Select * from Dueno order by nombre

11 Esto es también es conocido como alias
Renombrar / as Una Tabla: Select D.Rut_D From Dueno as D Un Atributo: Select Rut_D as Rut From Dueno Esto es también es conocido como alias

12 Selección / where “where” es usado para llevar a cabo una operación de selección Select * from Dueno where Nombre = ‘Homero’ and Apellido =‘simpson’ NOTA: SOLAMENTE SI Es sensible a mayúsculas/minúscula. Por ejemplo, «Homero» es diferente a «homero» Select Rut_D as Rut, nombre as prenom from dueno where prenom=‘Homero’ NOTA: Puede usar “prenom” o «nombre» en la consulta Select * from Arrienda where deuda > 0 Nota 1: Puede usar operadores de comparación (ej. or, and) Nota 2: Debe usar “<>” en cambio de “!=“

13 Producto Cartesiano / x
Select * from Arrienda, Casa Con condición: Select * from Arrienda, Casa where Casa.id_casa = Arrienda.id_casa Con condición y alias: Select * from Arrienda As A, Casa as C where C.id_casa = A.id_casa

14 Natural Join / ⋈ Es similar al natural join visto en clases
Select * from Arrienda Natural Join Casa Con una condición adicional: Select * from Arrienda Natural Join Casa where numero = 308 NOTA: Access y Microsoft SQL Server no soporta natural join 

15 Θ-Join / ⋈θ Un join que permite expresar el join:
Select * from Arrienda inner Join Casa on Arrienda.Id_casa = Casa.id_casa Esta consulta de arriba casi igual a un natural join, ¿Cuál es su única diferencia?

16 NOTAS Y CONSEJOS DE SQL-SERVER
Usar ‘ simple no doble “ El natural join no es soportado, solamente usar “Θ-Join” (slide anterior) No es sensible a mayúsculas o mínuscula Al ejecutar una consulta SQL en el motor, puede ser necesario especificar la base de datos. Para esto usar “use”. Por ejemplo: “use myDataBase” Al crear las tablas, comenzar con las tablas que no tiene foreign keys, luego con las tablas que sus foreign keys ya existen en una tabla ya creada Cree un archivo con todos los scripts para crear la base de datos y un script para montar los datos, pues probablemente deberá crear la misma base de datos varias veces

17 ¡Quedan otros!


Descargar ppt "SQL: Structured Query Language"

Presentaciones similares


Anuncios Google