Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Servicio Nacional de Aprendizaje Sena: Javilesv@misena - Edu.co
Servicio Nacional de Aprendizaje Sena: Javilesv@misena - Edu.co
APRENDIZAJE SENA
TALLER DE BASES DE DATOS
Instructor: Jesus Aviles Vizcaino
Contacto docente:
Correo electrónico: javilesv@misena.edu.co
WhatsApp: 3004436939
Horario de atención: |
SQL
Desde un punto de vista técnico podemos definir una base de datos como una aplicación independiente a
nuestro programa que almacena una colección de datos. Esta colección de datos es organizada mediante
campos, registros, índices y archivos de manera que mediante una simple consulta sea posible seleccionar
fragmentos de datos mostrando el resultado con rapidez.
SQL (Structured Query Language), se trata de un lenguaje declarativo estándar que permite su integración en
diferentes lenguajes de programación, por ejemplo, PHP o Java y en combinación con cualquier base de datos
específica. MariaDB, MySQL o SQL Server, por citar algunos ejemplos, trabajan de diferente manera, pero
todos comparten un modo común de manipulación y consulta de datos a través del lenguaje SQL.
En ingeniería de software toda buena historia comienza con la necesidad de resolver un problema. En los años
70 las bases de datos comenzaban a ser el quebradero de cabeza de muchos desarrollos. La falta de un
estándar claro y que cada empresa competía por imponer su solución de software hacía muy difícil, sino casi
imposible, la coexistencia entre sí.
En 1974, basándose en el modelo correlacional establecido por Edgard Codd, IBM comienza a trabajar en las
bases de lo que sería su base de datos SEQUEL. La idea de fondo era resolver los problemas anteriores
ofreciendo una solución estandarizada a los problemas de la época.
El éxito de su propuesta fue inminente entre sus clientes y entre los años 1974 a 1977 aparecieron diferentes
versiones que popularizaron su integración en diferentes sistemas. Posteriormente por causas legales IBM se
vio obligada a rebautizar el nombre de su proyecto a SQL
Pronto las empresas de todo el mundo comenzaron a demandar soluciones de software que hicieran uso de las
bondades del sistema SQL. Esto hizo que pronto aparecieran alternativas procedentes de otras compañías.
Oracle, Sybase fueron las primeras compañías en comercializar sus productos basados en SQL lo cual
contribuyó a reforzar las bases del ecosistema que estaría por crearse.
SQL ya era por 1981 considerado un estándar, pero no fue hasta 1986 cuando el ANSI adoptó SQL como
estándar de facto para los lenguajes relacionales. Esto hizo que un año después se publicase el conjunto de
normas que lo convertirán en un estándar ISO (SQL/86) dando lugar a diferentes revisiones hasta la fecha.
Fundamentos de SQL
Con SQL podemos realizar diferentes operaciones para consultar o manipular datos. A estas operaciones
solemos referirnos como operaciones CRUD (de Create, Read, Update y Delete). Para ello hacemos uso de
cuatro instrucciones para realizar estas tareas:
El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un
lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de
operaciones en ellas. El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de
agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de
datos.
Desde la aparición de los primeros modelos de bases de datos relacionales a comienzos de la década de los
70 hasta nuestros días la industria del software a visto nacer y morir múltiples propuestas. En una evolución
constante en la actualidad podemos decir que los principales sistemas gestores de bases de datos
relacionales en la actualidad son:
MySQL: Es el sistema gestor de bases de datos relacional por excelencia y utilizado en la gran parte de las
aplicaciones web actuales. Se ofrece bajo licencia GNU/GPL y aunque es posible adquirir una versión
licenciada por Oracle (actualmente la empresa responsable de su desarrollo). Las principales ventajas son:
• Base de datos multihilo y multiusuario
• Facilidad de uso y gran rendimiento
• Facilidad para instalar y configurar
• Soporte multiplataforma
• Soporte SSL
MariaDB: Este sistema de gestión de bases de datos fue en origen un fork o derivación de MySQL debido a
los modelos de licencia que Oracle lleva imponiendo a su desarrollo desde la adquisición de Sun
Microsystems. Esto hizo que la comunidad moviera sus esfuerzos en la creación de un desarrollo
independiente. Entre sus principales características se encuentran:
• Aumento de motores de almacenamiento
• Gran escalabilidad
• Seguridad y rapidez en transacciones
• Extensiones y nuevas características relacionadas con su aplicación para Bases de datos NoSQL.
SQLite: Utilizada por multitud de aplicaciones en la actualidad se trata de una librería escrita en C que
implementa la gestión de un sistema de base de datos sin necesidad de un servidor ni configuraciones. Esto
lo hace muy versátil para el desarrollo de pequeñas aplicaciones de software reduciendo significativamente
sus requerimientos de hardware. Las principales características de SQLite son:
• El tamaño, al tratarse de una biblioteca, es mucho menor que otros sistemas de gestión de bases de
datos.
• Reúne los cuatro criterios ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) logrando gran
estabilidad
• Gran portabilidad y rendimiento
PostgreSQL: Bajo licencia BSD este sistema de base de datos relacional está orientado a objetos. Esto
ofrece a desarrolladores la posibilidad de poder trabajar de un modelo más robusto de gestión de grandes
volúmenes de datos. Sus principales características son:
Oracle: Además de MySQL Oracle ofrece su propia gestión de bases de datos para el mundo empresarial.
En la actualidad se considera como el más robusto y completo y es utilizado habitualmente en soluciones de
banca o en grandes empresas. Sus principales características:
• Soporte de transacciones.
• Estabilidad.
• Escalabilidad.
• Multiplataforma.
Comandos de SQL
Existen tres tipos de comandos SQL:
• DDL(Data Definition Language) Lenguaje de Definición de datos: Permiten crear y definir nuevas
bases de datos, tablas, campos e índices.
• DML(Data Manipulation Language)Lenguaje de Manipulación de Datos: Permiten insertar datos para
generar consultas para ordenar, filtrar y extraer datos de la base de datos.
• DCL(Data Control Language) Lenguaje de Control de Datos: Se encargan de definir las permisos sobre
los datos.
CREATE
Este comando crea un objeto dentro del gestor de base de datos. Puede ser una base de datos, tabla, índice,
procedimiento almacenado o vista.
Especificaciones
Nombre del campo deben empezar por un carácter alfabético y debe ser lo más comprensible posible para
entender que datos se almacenan en ese campo.
Tipos de Datos (lista de los más importante):
Numérico: bigint, int, smallint, tinyint, numeric, bit, decimal, money, smallmoney.
Cadena de caracteres: char, varchar, text.
Fecha y hora: date, datetime, time, timestamp.
Cadenas binarias: binary, varbinary, image.
EJEMPLO:
Dadas las tablas Productos y Cliente, digita los códigos de creación de ambas tablas es sql.
ACTIVIDAD