Tecnológico Nacional de México Instituto Tecnológico de Cd. Altamirano Investigación “Lenguaje SQL" MATERIA: Fundamentos de base de datos PRESENTADO POR: Haleb De la Cruz Arzate 19930253 SEMESTRE 4A6 FACILITADOR: Aracely Salgado Mendoza Cd. Altamirano, Guerrero 01 de Julio del 2021 Objetivo: Aplica los comandos básicos del lenguaje SQL para la definición y manipulación de bases de datos. Introducción En la actualidad, debido a las grandes cantidades de información que hay en los registros, se ha optado por un lenguaje de programación que permite almacenar, editar y recuperar datos que sean necesarios ya sea en una universidad, empresa u otros ámbitos, este es el lenguaje SQL, llamado así por sus siglas en inglés Structured Query Languaje (Lenguaje de consulta estructurada) es un multiparadigma creado en 1974 por IBM para poder diseñar, administrar y recuperar información de un sistema de gestión de base de datos. El lenguaje SQL es un lenguaje de alto nivel orientado a conjuntos de registros, esto le permite lograr mayor rapidez y facilidad en la definición y manipulación de los objetos de base de datos, permitiendo una mayor eficiencia y productividad en el desarrollo. Así que, este lenguaje ayuda a la simplificación del código, el ahorro de tiempo, no ayuda a mejorar en la lógica de la programación dando como resultado la eficacia de la solución de problemas. Características del lenguaje SQL • Integridad de datos Cuando se habla de la integridad de datos nos referimos a la seguridad de los datos sean válidos, correctos y completos. • Sencillez y claridad El lenguaje SQL es un lenguaje unificado, claro y simple, en otras palabras, podríamos decir que este lenguaje es fácil de aprender y comprender. • Lenguaje estandarizado Cuando nos referimos a un lenguaje estandarizado queremos decir que las implementaciones del lenguaje se pueden utilizar en diferentes sistemas (el mismo código). • Flexibilidad En el lenguaje SQL se pueden implementar soluciones de manera versátil y se pueden definir diversas formas de satisfacer las demandas de datos que hay. • Simplificación del código No se tiene que escribir muchas líneas de códigos para mantener tu información consistente. • Ahorro de tiempo El lenguaje SQL te ahorra mucho tiempo de desarrollo, calidad de código, esfuerzo y dinero. Clasificación del lenguaje SQL Las sentencias en el lenguaje SQL se pueden clasificar en 3 grupos: • DDL: Lenguaje de definición de Datos: (Data Definition Languaje) Entran aquí las sentencias que definen y crean los objetos que soportan la base de datos (creación o supresión de bases, creación o supresión de tablas, relaciones entre tablas, claves en las tablas, etc. • DML: Lenguaje de Manipulación de Datos: (Data Management Languaje) Entran aquí las sentencias para manejar los datos almacenados en las tablas, a nivel de campos (columnas) o registros (filas). Por ejemplo, crear, cambiar o consultar registros o sus datos. • DCL: Lenguaje de Control de Datos: (Data Control Languaje) Entran aquí las sentencias para controlar las funciones de administración y control de las bases. Sintaxis básica de sentencias de un lenguaje SQL El lenguaje SQL se compone de sentencias. Cada sentencia es una instrucción que enviamos a la base de datos. En las sentencias se incluyen dos tipos de palabras: las palabras clave propias del lenguaje SQL y los datos de la base (datos individuales, nombres de bases, tablas o columnas. etc.); El lenguaje SQL NO DISTINGUE entre mayúsculas o minúsculas en sus palabras clave. es decir, podemos escribir tanto "select" como "SELECT". Sin embargo, en los nombres de bases de datos, tablas, columnas y otros elementos de la base SI se distingue, por lo que éstos debemos ponerlos tal como están en la base. La mayoría de los manuales sobre SQL escriben las palabras clave propias de SQL en mayúsculas, para distinguir entre palabras clave y nombres de elementos de la base o datos. Nosotros en este manual lo haremos también así. Cada sentencia empieza por una palabra que es un verbo e indica lo que queremos hacer (create, drop, select, update, etc) seguido por el nombre del tipo de elemento al que afecta. Esto último puede ser una o varias palabras. Además, también pueden usarse algunas preposiciones o adverbios que indiquen restricciones o el tipo de búsqueda (where = condición, from = restringe a el elemento indicado luego, etc.). Sabiendo un poco de inglés el lenguaje SQL puede resultar un tanto lógico ya que estamos indicando lo que queremos hacer. Por ejemplo, la instrucción: SELECT nombre, telefono FROM agenda Indica que queremos seleccionar (SELECT) los campos "nombre" y "telefono" dentro de la tabla llamada "agenda". Acabar cada sentencia con un punto y coma es opcional, sin embargo, es lo más recomendable, ya que, si bien en MySQL esto es opcional, podría haber problemas con otros tipos de sistemas para bases de datos. Al igual que otros lenguajes de programación como html, css o php, en SQL también se ignoran los espacios en blanco de más, las tabulaciones y los saltos de línea, es decir escribir más de un espacio en blanco o un salto de línea con tabulación o sin ella tiene el mismo efecto que escribir sólo un espacio en blanco, con lo cual el programador puede aprovechar esto para poner el código de una manera clara y estructurada. La mayoría de sentencias tienen la misma sintaxis: Figura 1.- Ejemplo de sentencias, obtenido de: https://desarrolloweb.com/articulos/tipos-desentencias-sql.html Tabla de la clasificación del lenguaje SQL Clasificación Nombre de la sentencia Descripción Sintaxis DML Manipulación de datos SELECT Recupera datos de la base de datos. SELECT * FROM nombretabla INSERT Añade nuevas filas de datos a la base de datos. DELETE Suprime (elimina) filas de datos de la base de datos. Modifica datos existentes en la base de datos INSERT INTO nombre_tabla VALUES (valor1, valor2, valor3, .) DELETE * FROM nombre_tabla; UPDATE DDL Definición de datos CREATE TABLE Añade una nueva tabla a la base de datos. DROP TABLE Suprime una tabla de la base de datos. Modifica la estrutura de una tabla existente. Añade una nueva vista a la base de datos. ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX Suprime una vista de la base de datos. Construye un índice para una columna. UPDATE nombre_tabla SET columna1 = valor1, columna2 = valor2 WHERE columna3 = valor3 CREATE TABLE nombretabla { nombrecolumna1 tipodato1, nombrecolumna2 tipodato2, nombrecolumna3 tipodato3, .. } DROP TABLE Nombre_tabla ALTER TABLE nombre_tabla CREATE VIEW nombrevista AS SELECT nombrecolumna(s) FROM nombretabla WHERE condición DROP VIEW nombrevista CREATE INDEX index_name ON table_name (column1, column2, ...); DROP INDEX Suprime el índice para una columna. CREATE SYNOYM Define un alias para un nombre de tabla. DROP SYNONYM DCL Control de acceso Control de transacciones Suprime un alias para un nombre de tabla. Concede privilegios de acceso a usuarios. DROP INDEX table_name.index _name; Alias para uma tabla: SELECT columna FROM nombretabla AS aliastabla Alias para uma columna: SELECT nombrecolumna AS aliascolumna FROM tabla DROP SYNONYM nombre_synonym; REVOKE Suprime privilegios de acceso a usuarios COMMIT Finaliza la transacción actual. GRANT <derecho1>, <derecho2>, ... ON TABLE <nombre tabla> TO <usuario1>, <usuario2> ... [ WITH GRANT OPTION] REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...FLUSH PRIVILEGES; COMMIT [TRANSACTION] ROLLBACK Aborata la transacción actual. ROLLBACK [TRANSACTION] GRANT Conclusión Hemos comprendido y desarrollado aprendizajes acerca del lenguaje SQL, tales como sus características, sintaxis de las sentencias, clasificación y hemos aprendido acerca de los comandos que se desarrolla en el lenguaje SQL. Esto lo aplicaremos tanto en nuestra vida estudiantil como en la profesional si Dios permite para poder solucionar problemas que se nos presenten en las bases de datos. Bibliografía Aprende web. (s.f.). Aprende web. Recuperado el 01 de Julio de 2021, de https://aprendeweb.net/progra/sql/sql_2.php Big Data. (s.f.). Recuperado el 01 de Julio de 2021, de Big Data: https://bigdataanalytics.es/sql/ Desarrollo Web. (29 de Noviembre de 2007). Desarrollo Web.com. Recuperado el 01 de Julio de 2021, de https://desarrolloweb.com/articulos/tipos-de-sentencias-sql.html Ramos, P. (14 de Septiembre de 2018). Styde. Recuperado el 01 de Julio de 2021, de https://styde.net/que-es-y-para-que-sirve-sql/ SQL. (s.f.). SQL. Recuperado el 01 de Julio de 2021, de http://sql.11sql.com/sql-intro.htm