SlideShare una empresa de Scribd logo
DIPLOMADO EN ADMINISTRACIÓN DEL
SISTEMA OPERATIVO LINUX
LENGUAJE SQL
LENGUAJE DE DEFINICIÓN DE DATOS
TEMA INSTALACIÓN Y
CONFIGURACIÓN MYSQL
MODULO
02
Elaborado por: MSc. Manuel Jesús Sánchez Chero
Profesor del Curso
TEMA
03
Material Didáctico para uso exclusivo en clase
MSc. Manuel Jesús Sánchez Chero Página 2 de 20
Tema 3
Lenguaje SQL – Lenguaje de Definición de Datos
Objetivos
Al finalizar este capítulo, el participante aprenderá a:
 Conocer el lenguaje SQL y sus estándares.
 Conocer que es el Lenguaje Definición de Datos
 Crear, modificar y eliminar una base de datos.
 Crear, modificar y eliminar tablas.
 Conocer los Tipos de Datos.
INTRODUCCIÓN
SQL (Structure Query Languague) es un potente lenguaje informático que cumple las
funciones de DDL, DCL y DML en los SGBD relacionales, su origen está en el
lenguaje SEQUEL (Structured English Query Language) desarrollado por IBM en los
años 1974-1975. Oracle fue el primer fabricante de sistemas de base de datos en
comercializar una implementación de SQL en 1979. IBM lanzó su producto SQL/DS en
1981 y dos años más tarde conocido como DB2.
Se trata de un lenguaje fuertemente basado en el inglés, que puede ser utilizado en
modo conversacional mediante un intérprete o bien formado parte de un programa
desarrollado en un lenguaje de programación como C.
La característica relacional más importante de SQL es que permite acceder a los datos
sin necesidad de especificar como se ha de realizar dicho acceso permitiendo así la
navegación automática por los datos.
El lenguaje ha sido normalizado por varios organismos, si bien los muchos aspectos
que tradicionalmente han quedado indefinidos en tales normalizaciones.
Las aplicaciones en red son cada día mas numerosas y versátiles, en muchos casos el
esquema básico de operación es una serie de scripts que rigen el comportamiento de
una base de datos, debido a la diversidad de los lenguajes y de base de datos
existentes, la manera de comunicar entre uno y otras sería realmente complicada a
gestionar de no ser por la existencia de los estándares que nos permiten realizar las
operaciones básicas de una forma universal.
MSc. Manuel Jesús Sánchez Chero Página 3 de 20
El hecho de que sea estándar no quiere decir que sea idéntico para cada base de
datos. En efecto determinadas base de datos implementan funciones específicas que
no tienen necesariamente que funcionar en otras bases de datos.
Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas,
por una parte presenta una potencia y versatilidad notable que contrasta y por otra con
su accesibilidad de aprendizaje.
EL LENGUAJE SQL
SQL es un método basado en un potente lenguaje, para organizar, administrar y
consultar datos almacenados en una computadora. SQL es una sigla que deviene de
su nombre en inglés “Structured Query Language” (Lenguaje de Consulta
Estructurado). Más específicamente SQL está definido en torno al modelo de bases de
datos relacionales, basado en el álgebra relacional, esto le da a SQL las ventajas que
lo imponen como el sistema de mayor aceptación.
Actualmente se ha convertido en un estándar de lenguaje de base de datos y la
materia de los sistemas de bases de datos lo soportan, por supuesto, a partir del
estándar cada sistema ha desarrollado su propio SQL que pueda variar de un sistema
a otro, pero con cambios que no suponen ninguna complicación para alguien que
conoce SQL concreto.
Como su nombre indica, el SQL nos permite realizar consultas a la base de datos,
pero el nombre se queda corto ya que SQL realiza funciones de definición, control y
gestión de la base de datos. Las sentencias SQL se clasifican según su finalidad
dando origen a tres lenguajes o mejor dicho sublenguajes.
 EL DDL (DATA DEFINITION LANGUAGE), Lenguaje de definición de datos,
incluye ordenes para definir, modificar o borrar las tablas en las que se almacenan
los datos y de las relaciones entre estas. (Es el que más varia de un sistema a
otro).
MSc. Manuel Jesús Sánchez Chero Página 4 de 20
 EL DCL (DATA CONTROL LANGUAGE), Lenguaje de control de datos, contiene
elementos útiles para trabajar en un entorno multiusuario, en el que es importante
la protección de los datos, la seguridad de las tablas y el establecimiento de
restricciones en el acceso, así como elementos para coordinar la compatricio de
datos por parte de usuarios concurrentes, asegurando que o interfieran unos con
otros.
 EL DML (DATA MANIPULATION LANGUHGE), Lenguaje de manipulación de
datos, nos permite recuperar los datos almacenados en la base de datos y también
incluye ordenes para permitir al usuario a actualizar las bases de datos añadiendo
nuevos registros, suprimiendo registros antiguos o modificando registros
previamente almacenados.
Algunas de las ventajas son:
 Marco teórico sólido, fundamentado en el álgebra relacional
 Simplicidad de conceptos (modelo de base de datos: tablas = líneas x
columnas)
 Definición de vínculos en la consulta, esto le da a SQL una gran
flexibilidad
 Fácil y rápido aprendizaje
 Arquitectura cliente-servidor
 Integración con cualquier lenguaje de programación
 Estandarización
 Lenguaje interactivo que permite hacer consultas Ad-hoc a bases de
datos.
MSc. Manuel Jesús Sánchez Chero Página 5 de 20
ESTANDARES SQL
Uno de los desarrollos más importantes en la aceptación del mercado de SQL es el
surgimiento de los estándares SQL. Las referencias al estándar SQL significa
generalmente el estandar oficial adoptado por la american Nacional standards
Institute (ANSI) y la internacional Standards Organizations (ISO).
ESTANDAR SQL-89
Este estándar proporciona reglas y lenguaje para definición de objetos de base de
datos por ejemplo tablas, vistas, índices.
CREATE Para creación de Objetos
ALTER Para modificaciones
DROP Para Eliminaciones
El mismo lenguaje de definición de datos es usado para definir restricciones e
integridad referencial en esquema de base de datos.
El Lenguaje de manipulación de datos para consultas y actualizaciones de datos.
SELECT Para Consultas
INSERT Para Agregaciones
DELETE Para Eliminaciones
UPDATE Para Actualizaciones
Provee especificaciones para definir e implementar seguridad, control sobre los
objetos de base de datos, provee especificaciones para el control de la concurrencia y
control de transacciones (COMMIT y ROLLBACK). Define mecanismos para embeber
sentencias SQL en los lenguajes como pascal, cobol, etc.
MSc. Manuel Jesús Sánchez Chero Página 6 de 20
ESTANDAR SQL-92
Agrega algunas facilidades a las ya conocidas en el estándar anterior.
Agentes, Son las aplicaciones o usuarios interactivos que producen las sentencias
SQL reemplaza a los IDS de autorizaciones.
Conexiones Cliente / Servidor, Antes de realizar alguna operación sobre la base de
datos, un agente desde un cliente debe conectarse a un servidor de base de datos,
esta conexión establece una sesión. SQL-92 soporta muchas sesiones concurrentes
de un mismo cliente.
ESTANDAR SQL-3
Es una extensa relación de especificaciones que incluyen entre otras facilidades:
 Tratamiento de objetos no estructurados (Multimedia).
 Tipos de Datos, al estilo de clases en lenguaje de programación orientada a
objetos, es decir donde puede heredarse métodos y atributos.
 Posibilidad de consultas recursivas
 Roles, grupos de usuarios a quienes se le asignará privilegios sobre los objetos
de la base de datos.
 Generación de informes, la clausula compute es puesta al final de una
consulta para poner el resultado en una función agregada al final del listado.
 Creación de Procedimientos almacenados
 Creación de Disparadores
MSc. Manuel Jesús Sánchez Chero Página 7 de 20
LENGUAJE DEFINICION DE DATOS (DDL)
Los cambios a la estructura de una base de datos son manejados por un conjunto
diferente de sentencias SQL, denominado conjuntamente Lenguaje de Definición
de Datos o DDL. Utilizando sentencias DDL, se puede:
 Definir y crear nuevas tablas.
 Suprimir una tabla que ya no se necesita.
 Cambiar la definición de una tabla existente.
 Construir un índice para hacer más rápido el acceso a la tabla.
 Definir una tabla virtual.
 Controlar el almacenamiento físico de los datos por parte del DBMS.
En su mayor parte, las sentencias DDL aíslan al usuario de los detalles de bajo
referentes a cómo los datos están físicamente almacenados en la base de dato.
Manipulan objetos abstractos de la base de datos tales como tablas y Columnas. Sin
embargo, el DDL no puede evitar completamente las cuestiones referentes al
almacenamiento físico y por necesidad, las sentencias DDL y las clausulas que
controlan el almacenamiento físico varían de un DBMS a otro.
El núcleo del Lenguaje de Definición de Datos esta basado en tres sentencias SQL:
Sentencia Descripción
CREATE Define y crea un objeto en la base de datos
DROP Elimina un objeto de la base de datos
ALTER Modifica la definición de un objeto en la base de datos
En todos los principales productos DBMS basados en SQL, estas tres sentencias
pueden ser utilizadas mientras el DBMS este corriendo. La estructura de la base de
datos es por tanto dinámica. El DBMS puede crear, eliminar o alterar la definición de
las tablas en la base de datos. Esto significa que una base de datos relacional puede
crecer y cambiar fácilmente en el tiempo.
Aunque el DDL y el DML son dos partes distintas del lenguaje SQL, en la mayoría de
los productos DBMS basados en SQL la división es solamente conceptual. Aunque
prácticamente todos los productos SQL comerciales soportan el DDL como parte
integral del Lenguaje SQL.
MSc. Manuel Jesús Sánchez Chero Página 8 de 20
CONECTANDO Y DESCONECTANDO DEL MYSQL
Para conectarse al servidor, generalmente necesitarás facilitar un nombre de usuario
Mysql cuando ejecute el cliente mysql y, lo más probable, también un password. Si el
servidor se está ejecutando en una máquina distinta a la que estás conectado,
necesitarás especificar también un nombre de host. Contacta con tu administrador
para averiguar qué parámetros de conexión necesitas usar para conectar (es decir,
qué host, nombre de usuario y password usar). Una vez que conozcas los parámetros
adecuados, deberás ser capaz de conectar de la siguiente forma:
# mysql -u root -p (pide password, el que acabo de definir, y entra)
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3 to server version: 3.23.41
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
mysql>
El prompt te indica que mysql ya está listo para la introducción de comandos.
Algunas instalaciones Mysql permiten a los usuarios conectarse como usuarios
“anonymous” (sin nombre) al servidor ejecutándose en el host local. Si este es el caso
en tu máquina, deberías ser capaz de conectar a ese servidor invocando mysql sin
ninguna opción:
pnichiclayo> mysql
Una vez que hayas conectado con éxito, puedes desconectarte en cualquier momento
tecleando QUIT en
El prompt mysql> :
mysql> QUIT
Bye
También puedes desconectar tecleando control-D.
CREATE DATABASE
Crea una nueva base de datos, es decir que un directorio para almacenar las tablas
que conformará la base de datos.
MSc. Manuel Jesús Sánchez Chero Página 9 de 20
Sintaxis
CREATE DATABASE database_name
Argumento
database_name
Es el nombre de la nueva base de datos. Los nombres de base de datos deben ser
únicos en un servidor y deben seguir las reglas de los identificadores. database_name
puede tener un máximo de 128 caracteres.
Ejemplo
En este ejemplo se crea una base de datos llamada base_de_datos_virtual
mysql> create database base_de_datos_virtual
Como puede apreciar en la figura el manejador de base de datos MYSQL ha creado
una base de datos (parte izquierda), que viene hacer un simple directorio (parte
derecha).
DROP DATABASE
Quita una base de datos de Mysql, al quitar una base de datos se eliminan la base de
datos y las tablas que utiliza.
SSiinnttaaxxiiss
DROP DATABASE database_name ]
Argumento
database_name
Especifica el nombre de la base de datos que se va a quitar.
Ejemplo
En este ejemplo se eliminará la base de datos llamada base_de_datos_virtual
MSc. Manuel Jesús Sánchez Chero Página 10 de 20
mysql> drop database base_de_datos_virtual
TIPOS DE DATOS
En MYSQL, cada columna en una tabla, expresión dispone de un tipo de datos
relacionado, que es un atributo que especifica el tipo de datos que el objeto puede
contener. MYSQL suministra un conjunto de tipos de datos del sistema que define
todos los tipos de datos que pueden utilizarse con MYSQL. El conjunto de tipos de
datos suministrados por el sistema se muestra debajo.
TIPOS DE DATOS NUMÉRICOS
bigint
Datos enteros (números enteros) comprendidos entre -2^63 (-9223372036854775808)
y 2^63 -1 (9223372036854775807).
int
Datos enteros (números enteros) comprendidos entre -2^31 (-2.147.483.648) y 2^31 -
1 (2.147.483.647).
smallint
Datos enteros comprendidos entre 215 (-32.768) y 215 - 1 (32.767).
tinyint
Datos enteros comprendidos 0 y 255.
decimal
Datos de precisión y escala numérica fijas comprendidos entre -1038 +1 y 1038 – 1.
float
Números con precisión de coma flotante comprendidos entre -1,79E + 308 y 1,79E +
308.
MSc. Manuel Jesús Sánchez Chero Página 11 de 20
double
Números con precisión de coma flotante con precisión doble valores comprendidos
entre -1,7976 + 308 a -2.225E + 307.
Son los tipos de datos usados para almacenar números de diversa precisión, a
precisión de un número es la cantidad de dígitos que se usan para representar su
valor.
TTIIPPOOSS DDEE DDAATTOOSS DDEE CCAADDEENNAASS DDEE CCAARRAACCTTEERREESS
char
Datos de caracteres de longitud fija a la que se añade espacios a la derecha hasta
llegar a la longitud que se especificó, con una longitud máxima de 255 caracteres.
varchar
Datos de longitud variable, todos los espacios extra se removerán cuando el valor sea
almacenado en la base de datos, con una longitud máxima de 255 caracteres.
Blob o text
Las columnas blob o text tienen una longitud máxima de 65535 (2^16-1). Puede
almacenar texto y son buenos manteniendo registros grandes como artículos, la
diferencia es que las búsquedas blob son sensibles a las mayúsculas, mientras que
las búsquedas text no. Estas columnas son usadas cuando los registros estan entre
255 y 65535 caracteres.
Son tipos de datos usados para almacenar cadena de caracteres de diversas
longitudes.
TIPOS DE DATO DE FECHA
Date
Una fecha, el rango soportado es ‘1000-01-01’ a ‘9999-12-31’, MYSQL despliega las
fechas en formato ‘YYYY-MM-DD’, pero permite asignar valores a columnas DATE
usando cadenas o números.
time
Dato de hora,rango comprendido ‘-838:59:59’ a ‘838:59:59’, MYSQL despliega la hora
en formato ‘HH:MM:SS’ pero permite asignar valores a columnas TIME usando
cadenas o números.
Son los tipos de datos ofrecidos por MYSQL para necesidades de información de
tiempo.
MSc. Manuel Jesús Sánchez Chero Página 12 de 20
CREATE TABLE
La sentencia CREATE TABLE define una tabla, esta definición debe incluir el nombre
de la tabla y los nombres y atributos de sus columnas, puede incluir otros atributos de
la tabla, como puede ser llave primaria.
Sintaxis
Argumentos
Nombre tabla
Es el nombre de la nueva tabla. Los nombres de tablas se deben ajustar a las
reglas para los identificadores
Nombre de columna
Es el nombre de una columna de la tabla. Los nombres de columna deben
cumplir las reglas de los identificadores y deben ser únicos en la tabla.
Tipo de dato
Especifica el tipo de datos de la columna. Se permiten los tipos de datos del
sistema
MSc. Manuel Jesús Sánchez Chero Página 13 de 20
default
Específica el valor suministrado para la columna es opcional para la columna.
El DBMS utiliza este valor cuando una sentencia insert aplicada a la tabla no
específica un valor para la columna.
null | not null
Son palabras clave que determinan si se permiten o no valores NULL en la
columna. NULL no es estrictamente una restricción, pero se puede especificar
de la misma forma que NOT NULL.
primary key
Es una restricción que exige la integridad de entidad para una o varias
columnas dadas a través de un índice único. Sólo se puede crear una
restricción PRIMARY KEY por cada tabla.
 En este ejemplo creamos una tabla llamada departamento con su llave
principal
create table departamento (
iddep char(3) not null primary key,
nombredep varchar(40) not null,
responsable varchar(6) default null,
depsuperior char(3) default null)
 En el siguiente ejemplo creamos una tabla persona, pero no definimos una clave
primaria.
create table persona (
idper varchar(6) not null,
iddep char(3) not null,
apellido varchar(20) not null,
nombre varchar(20) not null,
ubigeo varchar(6) not null,
fecingreso datetime not null,
cargo char(2) not null,
sexo char(1) not null,
fecnacimiento datetime not null,
sueldo decimal(10,0) default null,
bonificacion decimal(10,0) default null,
comision decimal(10,0) default null )
MSc. Manuel Jesús Sánchez Chero Página 14 de 20
ALTER TABLE
Modifica una definición de tabla al alterar, agregar o quitar columnas y restricciones, o
al deshabilitar o habilitar restricciones.
Sintaxis
Ejemplo
 Creamos una tabla ubigeo (para la ubicación geográfica del Perú)
create table ubigeo (
ubigeo varchar(6) not null,
departamento varchar(50) not null,
provincia varchar(50) default null
)
MSc. Manuel Jesús Sánchez Chero Página 15 de 20
 AA llaa ttaabbllaa aanntteerriioorr ssee llee aaggrreeggaarráá uunnaa ccoolluummnnaa ddiissttrriittoo
alter table ubigeo
add distrito varchar(50) not null
 AAhhoorraa qquuiittaarreemmooss llaa ccoolluummnnaa qquuee ffuuee aaggrreeggaaddaa aanntteerriioorrmmeennttee aa llaa ttaabbllaa
alter table ubigeo
drop column distrito
MSc. Manuel Jesús Sánchez Chero Página 16 de 20
 En este ejemplo agregaremos una columna y una llave primaria a la tabla ubigeo
alter table ubigeo
add distrito varchar(50) null
alter table ubigeo
add primary key(ubigeo)
En la figura usted observará que en la columna ubigeo contiene una llave, indicando
que es la llave primaria de la tabla, además se ha agregado una columna distrito
 En este último ejemplo quitamos la llave primaria de la tabla ubigeo.
alter table ubigeo
drop primary key
Como observa en la siguiente figura la columna ubigeo ya no tiene al costado la llave,
eso quiere decir que la tabla ya no contiene una llave primaria.
MSc. Manuel Jesús Sánchez Chero Página 17 de 20
DROP TABLE
Con la sentencia Drop table suprime una tabla de la base de datos, su definición y
todos sus contenidos se pierden. No hay manera de recuperar los datos y habría que
utilizar una nueva sentencia create table, para volver a crear la definición de la tabla.
Debido a sus series consecuencias, debe utilizarse la sentencia Drop table con
mucho cuidado.
Sintaxis
Argumento
Nombre-tabla
Es el nombre de la tabla que se va a quitar.
Ejemplo
 Eliminar la tabla ubiego
Drop table ubigeo
Como muestra la figura la tabla ubigeo ha sido eliminada de la base de datos
Senatichiclayo
MSc. Manuel Jesús Sánchez Chero Página 18 de 20
Preguntas de Repaso
1. ¿Qué diferencia hay en SQL y MYSQL?
2. ¿Qué diferencia hay entre el estándar- 89 y el estandar-3?
3. ¿Conoce usted otros manejadores de base de datos, mencione algunos de
ellos?
4. ¿Cree usted que la mayoría de los DBMS soportan el lenguaje SQL?
5. ¿En qué caso debo utilizar la sentencia ALTER TABLE, de algunos ejemplos?
Practica:
Crear una base de datos Empresa y luego utilizando las sentencias create y alter
table cree el siguiente modelo.
MSc. Manuel Jesús Sánchez Chero Página 19 de 20
Detalles de las Tablas
Tabla Actividad
Tabla Cargo
Tabla departamento
Tabla persona
MSc. Manuel Jesús Sánchez Chero Página 20 de 20
Tabla Proyecto
Ubigeo

Más contenido relacionado

PDF
POOABD (POO Aplicada a B Datos) - RDBMS parte 2
DOCX
sql server
PPSX
Características de las 5 Base de Datos más importantes
PPTX
Base de datos en sql
DOCX
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
PPTX
Bases de datos
PPTX
Base datos sql
PPTX
Diapositivas sql.
POOABD (POO Aplicada a B Datos) - RDBMS parte 2
sql server
Características de las 5 Base de Datos más importantes
Base de datos en sql
F004 p006-gfpi guia de aprendizaje 1-fundamentosde sql
Bases de datos
Base datos sql
Diapositivas sql.

La actualidad más candente (20)

PPTX
Historia del sql
PPTX
Lenguaje transact
PDF
POOABD (POO Aplicada a B Datos) - RDBMS parte 2 -2020
PDF
Base de datos laboratorio
PPT
PPTX
PPT
Sql Server
PPTX
Base de datos 1.2
PPS
Programación con sql server
PPTX
Base de datos.
PPTX
Actividad4cosdac
PPTX
Rila
PPT
Curso sql server 2012 clase 1
PDF
PPTX
Base de Datos Grupo Los Informaticos
PPT
Lenguajes de bases de datos
PPT
Administración y programación en sql server
PPTX
Base datos
PPT
Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...
Historia del sql
Lenguaje transact
POOABD (POO Aplicada a B Datos) - RDBMS parte 2 -2020
Base de datos laboratorio
Sql Server
Base de datos 1.2
Programación con sql server
Base de datos.
Actividad4cosdac
Rila
Curso sql server 2012 clase 1
Base de Datos Grupo Los Informaticos
Lenguajes de bases de datos
Administración y programación en sql server
Base datos
Administración y Programación microsoft SQL Server 2008 por Yamil Lambert Sar...
Publicidad

Destacado (19)

PPTX
Herramientas para el trabajo colaborativo
PPT
Las Wikis
PPTX
Trabajo Final - Ambiente de Aprendizaje FACHSE
PPTX
Zoho Docs
DOCX
Cuadro comparativo sky drive; google docs, zoho doc y thinkfree -_ ayrton ortiz
DOCX
Web 2.0 y ambientes de aprendizaje
PPTX
Ava ambiente virtual de aprendizaje
PPT
Utilizando Metodologia Rup Parte1
PDF
Aprendizaje en ava
PPT
Como Documentar Casos De Uso
PPTX
Educacion presencial - Educacion virtual
DOCX
Metodologia rup
PPTX
PPT Ambientes de aprendizaje presencial
PPT
Ambientes De Aprendizaje
PDF
mapa conceptual sobre componentes de un Ambiente Virtual de Aprendizaje (AVA)
PPT
GESTIÓN DEL CONOCIMIENTO EN SISTEMAS E-LEARNING, BASADO EN OBJETOS DE APRENDI...
PPTX
Ambiente de aprendizaje presentacion
PPT
Ejemplo rup
Herramientas para el trabajo colaborativo
Las Wikis
Trabajo Final - Ambiente de Aprendizaje FACHSE
Zoho Docs
Cuadro comparativo sky drive; google docs, zoho doc y thinkfree -_ ayrton ortiz
Web 2.0 y ambientes de aprendizaje
Ava ambiente virtual de aprendizaje
Utilizando Metodologia Rup Parte1
Aprendizaje en ava
Como Documentar Casos De Uso
Educacion presencial - Educacion virtual
Metodologia rup
PPT Ambientes de aprendizaje presencial
Ambientes De Aprendizaje
mapa conceptual sobre componentes de un Ambiente Virtual de Aprendizaje (AVA)
GESTIÓN DEL CONOCIMIENTO EN SISTEMAS E-LEARNING, BASADO EN OBJETOS DE APRENDI...
Ambiente de aprendizaje presentacion
Ejemplo rup
Publicidad

Similar a Modulo2 tema 3-lenguaje sql-ddl (20)

DOCX
Actividad extra ansi sql
DOCX
SQL (Structured Query Language): Informe de Lectura Unidad 3
PDF
Base de datos de la unp es facil no te compliques
DOCX
Manual
PPS
PDF
ANSI SQL
DOC
Ansi Sql
DOC
Ansi Sql
DOC
Ansi Sql
DOC
Ansi Sql
PPTX
SQL-2022-2023.pptx
PDF
Bases de datos módulo 3 el lenguaje sql
PDF
Capitulo 3
PDF
6. sql structured query language
PDF
6. sql structured query language
PDF
6. sql structured query language2
PDF
6. sql structured query language
PDF
6. SQL structured query language
PDF
6. sql structured query language
PDF
6. sql structured query language
Actividad extra ansi sql
SQL (Structured Query Language): Informe de Lectura Unidad 3
Base de datos de la unp es facil no te compliques
Manual
ANSI SQL
Ansi Sql
Ansi Sql
Ansi Sql
Ansi Sql
SQL-2022-2023.pptx
Bases de datos módulo 3 el lenguaje sql
Capitulo 3
6. sql structured query language
6. sql structured query language
6. sql structured query language2
6. sql structured query language
6. SQL structured query language
6. sql structured query language
6. sql structured query language

Más de Universidad Nacional de Frontera (20)

PPT
ManuelSanchezChero_Template CLAP 2024.ppt
PDF
Modelo renovacionlicenciamiento
PPTX
Semana3 2 objetivos_justificacion_ejemplos
PDF
Socote2013 submission 120
PDF
Articulo modelo matematico_sistemamedicion
PDF
Articulo revista uss
PDF
Actividad lineas investigacion
PPTX
Programacion kitlegontx java
PDF
Realidad aumentada swl
PDF
Java Gestion Eventos
PDF
Sesion10 Interfaces Graficas Usuarios - java
PDF
Sesion12-componentes Visuales java
PDF
Sesion12-Componentes AWT
PPT
Software Libre en la Educación
PPT
Prueba de Confiabilidad del Software
ManuelSanchezChero_Template CLAP 2024.ppt
Modelo renovacionlicenciamiento
Semana3 2 objetivos_justificacion_ejemplos
Socote2013 submission 120
Articulo modelo matematico_sistemamedicion
Articulo revista uss
Actividad lineas investigacion
Programacion kitlegontx java
Realidad aumentada swl
Java Gestion Eventos
Sesion10 Interfaces Graficas Usuarios - java
Sesion12-componentes Visuales java
Sesion12-Componentes AWT
Software Libre en la Educación
Prueba de Confiabilidad del Software

Último (20)

PDF
CyberOps Associate - Cisco Networking Academy
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
taller de informática - LEY DE OHM
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
clase auditoria informatica 2025.........
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Presentación de Redes de Datos modelo osi
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPT
Que son las redes de computadores y sus partes
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
CyberOps Associate - Cisco Networking Academy
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Estrategia de apoyo tecnología grado 9-3
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
taller de informática - LEY DE OHM
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
clase auditoria informatica 2025.........
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Presentación de Redes de Datos modelo osi
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
historia_web de la creacion de un navegador_presentacion.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
introduccion a las_web en el 2025_mejoras.ppt
REDES INFORMATICAS REDES INFORMATICAS.pptx
Estrategia de apoyo tecnología miguel angel solis
Propuesta BKP servidores con Acronis1.pptx
Que son las redes de computadores y sus partes
SAP Transportation Management para LSP, TM140 Col18
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad

Modulo2 tema 3-lenguaje sql-ddl

  • 1. DIPLOMADO EN ADMINISTRACIÓN DEL SISTEMA OPERATIVO LINUX LENGUAJE SQL LENGUAJE DE DEFINICIÓN DE DATOS TEMA INSTALACIÓN Y CONFIGURACIÓN MYSQL MODULO 02 Elaborado por: MSc. Manuel Jesús Sánchez Chero Profesor del Curso TEMA 03 Material Didáctico para uso exclusivo en clase
  • 2. MSc. Manuel Jesús Sánchez Chero Página 2 de 20 Tema 3 Lenguaje SQL – Lenguaje de Definición de Datos Objetivos Al finalizar este capítulo, el participante aprenderá a:  Conocer el lenguaje SQL y sus estándares.  Conocer que es el Lenguaje Definición de Datos  Crear, modificar y eliminar una base de datos.  Crear, modificar y eliminar tablas.  Conocer los Tipos de Datos. INTRODUCCIÓN SQL (Structure Query Languague) es un potente lenguaje informático que cumple las funciones de DDL, DCL y DML en los SGBD relacionales, su origen está en el lenguaje SEQUEL (Structured English Query Language) desarrollado por IBM en los años 1974-1975. Oracle fue el primer fabricante de sistemas de base de datos en comercializar una implementación de SQL en 1979. IBM lanzó su producto SQL/DS en 1981 y dos años más tarde conocido como DB2. Se trata de un lenguaje fuertemente basado en el inglés, que puede ser utilizado en modo conversacional mediante un intérprete o bien formado parte de un programa desarrollado en un lenguaje de programación como C. La característica relacional más importante de SQL es que permite acceder a los datos sin necesidad de especificar como se ha de realizar dicho acceso permitiendo así la navegación automática por los datos. El lenguaje ha sido normalizado por varios organismos, si bien los muchos aspectos que tradicionalmente han quedado indefinidos en tales normalizaciones. Las aplicaciones en red son cada día mas numerosas y versátiles, en muchos casos el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos, debido a la diversidad de los lenguajes y de base de datos existentes, la manera de comunicar entre uno y otras sería realmente complicada a gestionar de no ser por la existencia de los estándares que nos permiten realizar las operaciones básicas de una forma universal.
  • 3. MSc. Manuel Jesús Sánchez Chero Página 3 de 20 El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto determinadas base de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras bases de datos. Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas, por una parte presenta una potencia y versatilidad notable que contrasta y por otra con su accesibilidad de aprendizaje. EL LENGUAJE SQL SQL es un método basado en un potente lenguaje, para organizar, administrar y consultar datos almacenados en una computadora. SQL es una sigla que deviene de su nombre en inglés “Structured Query Language” (Lenguaje de Consulta Estructurado). Más específicamente SQL está definido en torno al modelo de bases de datos relacionales, basado en el álgebra relacional, esto le da a SQL las ventajas que lo imponen como el sistema de mayor aceptación. Actualmente se ha convertido en un estándar de lenguaje de base de datos y la materia de los sistemas de bases de datos lo soportan, por supuesto, a partir del estándar cada sistema ha desarrollado su propio SQL que pueda variar de un sistema a otro, pero con cambios que no suponen ninguna complicación para alguien que conoce SQL concreto. Como su nombre indica, el SQL nos permite realizar consultas a la base de datos, pero el nombre se queda corto ya que SQL realiza funciones de definición, control y gestión de la base de datos. Las sentencias SQL se clasifican según su finalidad dando origen a tres lenguajes o mejor dicho sublenguajes.  EL DDL (DATA DEFINITION LANGUAGE), Lenguaje de definición de datos, incluye ordenes para definir, modificar o borrar las tablas en las que se almacenan los datos y de las relaciones entre estas. (Es el que más varia de un sistema a otro).
  • 4. MSc. Manuel Jesús Sánchez Chero Página 4 de 20  EL DCL (DATA CONTROL LANGUAGE), Lenguaje de control de datos, contiene elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de restricciones en el acceso, así como elementos para coordinar la compatricio de datos por parte de usuarios concurrentes, asegurando que o interfieran unos con otros.  EL DML (DATA MANIPULATION LANGUHGE), Lenguaje de manipulación de datos, nos permite recuperar los datos almacenados en la base de datos y también incluye ordenes para permitir al usuario a actualizar las bases de datos añadiendo nuevos registros, suprimiendo registros antiguos o modificando registros previamente almacenados. Algunas de las ventajas son:  Marco teórico sólido, fundamentado en el álgebra relacional  Simplicidad de conceptos (modelo de base de datos: tablas = líneas x columnas)  Definición de vínculos en la consulta, esto le da a SQL una gran flexibilidad  Fácil y rápido aprendizaje  Arquitectura cliente-servidor  Integración con cualquier lenguaje de programación  Estandarización  Lenguaje interactivo que permite hacer consultas Ad-hoc a bases de datos.
  • 5. MSc. Manuel Jesús Sánchez Chero Página 5 de 20 ESTANDARES SQL Uno de los desarrollos más importantes en la aceptación del mercado de SQL es el surgimiento de los estándares SQL. Las referencias al estándar SQL significa generalmente el estandar oficial adoptado por la american Nacional standards Institute (ANSI) y la internacional Standards Organizations (ISO). ESTANDAR SQL-89 Este estándar proporciona reglas y lenguaje para definición de objetos de base de datos por ejemplo tablas, vistas, índices. CREATE Para creación de Objetos ALTER Para modificaciones DROP Para Eliminaciones El mismo lenguaje de definición de datos es usado para definir restricciones e integridad referencial en esquema de base de datos. El Lenguaje de manipulación de datos para consultas y actualizaciones de datos. SELECT Para Consultas INSERT Para Agregaciones DELETE Para Eliminaciones UPDATE Para Actualizaciones Provee especificaciones para definir e implementar seguridad, control sobre los objetos de base de datos, provee especificaciones para el control de la concurrencia y control de transacciones (COMMIT y ROLLBACK). Define mecanismos para embeber sentencias SQL en los lenguajes como pascal, cobol, etc.
  • 6. MSc. Manuel Jesús Sánchez Chero Página 6 de 20 ESTANDAR SQL-92 Agrega algunas facilidades a las ya conocidas en el estándar anterior. Agentes, Son las aplicaciones o usuarios interactivos que producen las sentencias SQL reemplaza a los IDS de autorizaciones. Conexiones Cliente / Servidor, Antes de realizar alguna operación sobre la base de datos, un agente desde un cliente debe conectarse a un servidor de base de datos, esta conexión establece una sesión. SQL-92 soporta muchas sesiones concurrentes de un mismo cliente. ESTANDAR SQL-3 Es una extensa relación de especificaciones que incluyen entre otras facilidades:  Tratamiento de objetos no estructurados (Multimedia).  Tipos de Datos, al estilo de clases en lenguaje de programación orientada a objetos, es decir donde puede heredarse métodos y atributos.  Posibilidad de consultas recursivas  Roles, grupos de usuarios a quienes se le asignará privilegios sobre los objetos de la base de datos.  Generación de informes, la clausula compute es puesta al final de una consulta para poner el resultado en una función agregada al final del listado.  Creación de Procedimientos almacenados  Creación de Disparadores
  • 7. MSc. Manuel Jesús Sánchez Chero Página 7 de 20 LENGUAJE DEFINICION DE DATOS (DDL) Los cambios a la estructura de una base de datos son manejados por un conjunto diferente de sentencias SQL, denominado conjuntamente Lenguaje de Definición de Datos o DDL. Utilizando sentencias DDL, se puede:  Definir y crear nuevas tablas.  Suprimir una tabla que ya no se necesita.  Cambiar la definición de una tabla existente.  Construir un índice para hacer más rápido el acceso a la tabla.  Definir una tabla virtual.  Controlar el almacenamiento físico de los datos por parte del DBMS. En su mayor parte, las sentencias DDL aíslan al usuario de los detalles de bajo referentes a cómo los datos están físicamente almacenados en la base de dato. Manipulan objetos abstractos de la base de datos tales como tablas y Columnas. Sin embargo, el DDL no puede evitar completamente las cuestiones referentes al almacenamiento físico y por necesidad, las sentencias DDL y las clausulas que controlan el almacenamiento físico varían de un DBMS a otro. El núcleo del Lenguaje de Definición de Datos esta basado en tres sentencias SQL: Sentencia Descripción CREATE Define y crea un objeto en la base de datos DROP Elimina un objeto de la base de datos ALTER Modifica la definición de un objeto en la base de datos En todos los principales productos DBMS basados en SQL, estas tres sentencias pueden ser utilizadas mientras el DBMS este corriendo. La estructura de la base de datos es por tanto dinámica. El DBMS puede crear, eliminar o alterar la definición de las tablas en la base de datos. Esto significa que una base de datos relacional puede crecer y cambiar fácilmente en el tiempo. Aunque el DDL y el DML son dos partes distintas del lenguaje SQL, en la mayoría de los productos DBMS basados en SQL la división es solamente conceptual. Aunque prácticamente todos los productos SQL comerciales soportan el DDL como parte integral del Lenguaje SQL.
  • 8. MSc. Manuel Jesús Sánchez Chero Página 8 de 20 CONECTANDO Y DESCONECTANDO DEL MYSQL Para conectarse al servidor, generalmente necesitarás facilitar un nombre de usuario Mysql cuando ejecute el cliente mysql y, lo más probable, también un password. Si el servidor se está ejecutando en una máquina distinta a la que estás conectado, necesitarás especificar también un nombre de host. Contacta con tu administrador para averiguar qué parámetros de conexión necesitas usar para conectar (es decir, qué host, nombre de usuario y password usar). Una vez que conozcas los parámetros adecuados, deberás ser capaz de conectar de la siguiente forma: # mysql -u root -p (pide password, el que acabo de definir, y entra) Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3 to server version: 3.23.41 Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. mysql> El prompt te indica que mysql ya está listo para la introducción de comandos. Algunas instalaciones Mysql permiten a los usuarios conectarse como usuarios “anonymous” (sin nombre) al servidor ejecutándose en el host local. Si este es el caso en tu máquina, deberías ser capaz de conectar a ese servidor invocando mysql sin ninguna opción: pnichiclayo> mysql Una vez que hayas conectado con éxito, puedes desconectarte en cualquier momento tecleando QUIT en El prompt mysql> : mysql> QUIT Bye También puedes desconectar tecleando control-D. CREATE DATABASE Crea una nueva base de datos, es decir que un directorio para almacenar las tablas que conformará la base de datos.
  • 9. MSc. Manuel Jesús Sánchez Chero Página 9 de 20 Sintaxis CREATE DATABASE database_name Argumento database_name Es el nombre de la nueva base de datos. Los nombres de base de datos deben ser únicos en un servidor y deben seguir las reglas de los identificadores. database_name puede tener un máximo de 128 caracteres. Ejemplo En este ejemplo se crea una base de datos llamada base_de_datos_virtual mysql> create database base_de_datos_virtual Como puede apreciar en la figura el manejador de base de datos MYSQL ha creado una base de datos (parte izquierda), que viene hacer un simple directorio (parte derecha). DROP DATABASE Quita una base de datos de Mysql, al quitar una base de datos se eliminan la base de datos y las tablas que utiliza. SSiinnttaaxxiiss DROP DATABASE database_name ] Argumento database_name Especifica el nombre de la base de datos que se va a quitar. Ejemplo En este ejemplo se eliminará la base de datos llamada base_de_datos_virtual
  • 10. MSc. Manuel Jesús Sánchez Chero Página 10 de 20 mysql> drop database base_de_datos_virtual TIPOS DE DATOS En MYSQL, cada columna en una tabla, expresión dispone de un tipo de datos relacionado, que es un atributo que especifica el tipo de datos que el objeto puede contener. MYSQL suministra un conjunto de tipos de datos del sistema que define todos los tipos de datos que pueden utilizarse con MYSQL. El conjunto de tipos de datos suministrados por el sistema se muestra debajo. TIPOS DE DATOS NUMÉRICOS bigint Datos enteros (números enteros) comprendidos entre -2^63 (-9223372036854775808) y 2^63 -1 (9223372036854775807). int Datos enteros (números enteros) comprendidos entre -2^31 (-2.147.483.648) y 2^31 - 1 (2.147.483.647). smallint Datos enteros comprendidos entre 215 (-32.768) y 215 - 1 (32.767). tinyint Datos enteros comprendidos 0 y 255. decimal Datos de precisión y escala numérica fijas comprendidos entre -1038 +1 y 1038 – 1. float Números con precisión de coma flotante comprendidos entre -1,79E + 308 y 1,79E + 308.
  • 11. MSc. Manuel Jesús Sánchez Chero Página 11 de 20 double Números con precisión de coma flotante con precisión doble valores comprendidos entre -1,7976 + 308 a -2.225E + 307. Son los tipos de datos usados para almacenar números de diversa precisión, a precisión de un número es la cantidad de dígitos que se usan para representar su valor. TTIIPPOOSS DDEE DDAATTOOSS DDEE CCAADDEENNAASS DDEE CCAARRAACCTTEERREESS char Datos de caracteres de longitud fija a la que se añade espacios a la derecha hasta llegar a la longitud que se especificó, con una longitud máxima de 255 caracteres. varchar Datos de longitud variable, todos los espacios extra se removerán cuando el valor sea almacenado en la base de datos, con una longitud máxima de 255 caracteres. Blob o text Las columnas blob o text tienen una longitud máxima de 65535 (2^16-1). Puede almacenar texto y son buenos manteniendo registros grandes como artículos, la diferencia es que las búsquedas blob son sensibles a las mayúsculas, mientras que las búsquedas text no. Estas columnas son usadas cuando los registros estan entre 255 y 65535 caracteres. Son tipos de datos usados para almacenar cadena de caracteres de diversas longitudes. TIPOS DE DATO DE FECHA Date Una fecha, el rango soportado es ‘1000-01-01’ a ‘9999-12-31’, MYSQL despliega las fechas en formato ‘YYYY-MM-DD’, pero permite asignar valores a columnas DATE usando cadenas o números. time Dato de hora,rango comprendido ‘-838:59:59’ a ‘838:59:59’, MYSQL despliega la hora en formato ‘HH:MM:SS’ pero permite asignar valores a columnas TIME usando cadenas o números. Son los tipos de datos ofrecidos por MYSQL para necesidades de información de tiempo.
  • 12. MSc. Manuel Jesús Sánchez Chero Página 12 de 20 CREATE TABLE La sentencia CREATE TABLE define una tabla, esta definición debe incluir el nombre de la tabla y los nombres y atributos de sus columnas, puede incluir otros atributos de la tabla, como puede ser llave primaria. Sintaxis Argumentos Nombre tabla Es el nombre de la nueva tabla. Los nombres de tablas se deben ajustar a las reglas para los identificadores Nombre de columna Es el nombre de una columna de la tabla. Los nombres de columna deben cumplir las reglas de los identificadores y deben ser únicos en la tabla. Tipo de dato Especifica el tipo de datos de la columna. Se permiten los tipos de datos del sistema
  • 13. MSc. Manuel Jesús Sánchez Chero Página 13 de 20 default Específica el valor suministrado para la columna es opcional para la columna. El DBMS utiliza este valor cuando una sentencia insert aplicada a la tabla no específica un valor para la columna. null | not null Son palabras clave que determinan si se permiten o no valores NULL en la columna. NULL no es estrictamente una restricción, pero se puede especificar de la misma forma que NOT NULL. primary key Es una restricción que exige la integridad de entidad para una o varias columnas dadas a través de un índice único. Sólo se puede crear una restricción PRIMARY KEY por cada tabla.  En este ejemplo creamos una tabla llamada departamento con su llave principal create table departamento ( iddep char(3) not null primary key, nombredep varchar(40) not null, responsable varchar(6) default null, depsuperior char(3) default null)  En el siguiente ejemplo creamos una tabla persona, pero no definimos una clave primaria. create table persona ( idper varchar(6) not null, iddep char(3) not null, apellido varchar(20) not null, nombre varchar(20) not null, ubigeo varchar(6) not null, fecingreso datetime not null, cargo char(2) not null, sexo char(1) not null, fecnacimiento datetime not null, sueldo decimal(10,0) default null, bonificacion decimal(10,0) default null, comision decimal(10,0) default null )
  • 14. MSc. Manuel Jesús Sánchez Chero Página 14 de 20 ALTER TABLE Modifica una definición de tabla al alterar, agregar o quitar columnas y restricciones, o al deshabilitar o habilitar restricciones. Sintaxis Ejemplo  Creamos una tabla ubigeo (para la ubicación geográfica del Perú) create table ubigeo ( ubigeo varchar(6) not null, departamento varchar(50) not null, provincia varchar(50) default null )
  • 15. MSc. Manuel Jesús Sánchez Chero Página 15 de 20  AA llaa ttaabbllaa aanntteerriioorr ssee llee aaggrreeggaarráá uunnaa ccoolluummnnaa ddiissttrriittoo alter table ubigeo add distrito varchar(50) not null  AAhhoorraa qquuiittaarreemmooss llaa ccoolluummnnaa qquuee ffuuee aaggrreeggaaddaa aanntteerriioorrmmeennttee aa llaa ttaabbllaa alter table ubigeo drop column distrito
  • 16. MSc. Manuel Jesús Sánchez Chero Página 16 de 20  En este ejemplo agregaremos una columna y una llave primaria a la tabla ubigeo alter table ubigeo add distrito varchar(50) null alter table ubigeo add primary key(ubigeo) En la figura usted observará que en la columna ubigeo contiene una llave, indicando que es la llave primaria de la tabla, además se ha agregado una columna distrito  En este último ejemplo quitamos la llave primaria de la tabla ubigeo. alter table ubigeo drop primary key Como observa en la siguiente figura la columna ubigeo ya no tiene al costado la llave, eso quiere decir que la tabla ya no contiene una llave primaria.
  • 17. MSc. Manuel Jesús Sánchez Chero Página 17 de 20 DROP TABLE Con la sentencia Drop table suprime una tabla de la base de datos, su definición y todos sus contenidos se pierden. No hay manera de recuperar los datos y habría que utilizar una nueva sentencia create table, para volver a crear la definición de la tabla. Debido a sus series consecuencias, debe utilizarse la sentencia Drop table con mucho cuidado. Sintaxis Argumento Nombre-tabla Es el nombre de la tabla que se va a quitar. Ejemplo  Eliminar la tabla ubiego Drop table ubigeo Como muestra la figura la tabla ubigeo ha sido eliminada de la base de datos Senatichiclayo
  • 18. MSc. Manuel Jesús Sánchez Chero Página 18 de 20 Preguntas de Repaso 1. ¿Qué diferencia hay en SQL y MYSQL? 2. ¿Qué diferencia hay entre el estándar- 89 y el estandar-3? 3. ¿Conoce usted otros manejadores de base de datos, mencione algunos de ellos? 4. ¿Cree usted que la mayoría de los DBMS soportan el lenguaje SQL? 5. ¿En qué caso debo utilizar la sentencia ALTER TABLE, de algunos ejemplos? Practica: Crear una base de datos Empresa y luego utilizando las sentencias create y alter table cree el siguiente modelo.
  • 19. MSc. Manuel Jesús Sánchez Chero Página 19 de 20 Detalles de las Tablas Tabla Actividad Tabla Cargo Tabla departamento Tabla persona
  • 20. MSc. Manuel Jesús Sánchez Chero Página 20 de 20 Tabla Proyecto Ubigeo