Вы находитесь на странице: 1из 27

¿Qué es SQL?

SQL (Structure Query Language) es un lenguaje estándar e interactivo de acceso a base de


datos relacionales que permite especificar diversos tipos de operaciones entre ellas, gracias a
la utilización del álgebra y de cálculos racionales,el SQL brinda la posibilidad de realizar
consultas con el objetivo de recuperar información de bases de datos de manera sencilla. cada
consulta toma forma de un lenguaje de comandos que permite seleccionar, insertar,
actualizar, averiguar la ubicación de los datos, entre otros.
MySQL es otro gestor de datos

Historia de SQL

SQL nace en la década de ​1970, cuando en los laboratorios IBM, con la creación de la base
de datos System R, la misma que necesito un gestor para los datos almacenados el cual fue
nombrado SEQUEL, el nombre que todavía se utiliza como una pronunciación alternativa
para SQL.
En 1979 la compañía Relational Software conocida actualmente como Oracle, vio el
potencial comercial que existía en el lenguaje SQL y lanzó su propia versión modificada a la
cual llamaron ​ORACLE V2.
En su tercera década de existencia, el lenguaje SQL ofrece una gran flexibilidad a los
usuarios soportando bases de datos distribuidas, es decir, bases de datos que se pueden
ejecutar en varias redes de ordenadores a la vez. Certificado por ​ANSI e ISO​, el lenguaje
SQL se ha convertido en un estándar de lenguaje de consulta de base de datos, siendo la base
de una gran variedad de aplicaciones de bases de datos bien establecidos en Internet hoy en
día.
Es útil tanto para propósitos empresariales como para necesidades académicas, siendo
funcional tanto en equipos individuales como empresariales.
Con el avance en la tecnología de base de datos de aplicaciones basadas en SQL se ha vuelto
cada vez más asequible para el usuario normal. Esto se debe a la introducción de diversas
soluciones de bases de datos SQL de código abierto como MySQL, PostgreSQL, SQLite,
Firebird, y muchos más.

Características de SQL

Con SQL podemos hacer entre otras las siguientes operaciones en el programa que gestiona
las bases de datos:
● Crear nuevas bases de datos.
● Crear nuevas tablas en una base de datos.
● Crear nuevos registros en las tablas de una base de datos.
● Crear tablas de consulta en una base de datos.
● Borrar tablas o bases de datos.
● Borrar registros.
● Cambiar uno o varios datos de un registro.
● Mostrar los datos de una tabla o consulta.
● Buscar y mostrar sólo algunos datos de una tabla o consulta, poniendo una serie de
condiciones para la búsqueda.

Tipos de Datos en SQL


Las sentencias de SQL se agrupan en tres tipos:

● 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.

Ventajas y Desventajas de SQL

Ventajas

● Es un sistema de gestión de base de datos.


● Es útil para manejar y obtener datos de la red de redes.
● Nos permite olvidarnos de los ficheros que forman la base de datos.
● Si trabajamos en una red social nos permite agregar otros servidores de SQL Server.
Por ejemplo dos personas que trabajan con SQL Server, uno de ellos se puede
conectar al servidor de su otro compañero y así se puede ver las bases de datos del
otro compañero con SQL Server.
● SQL permite administrar permisos a todo. También permite que alguien conecte su
SQLO al nuestro pero sin embargo podemos decirle que no puede ver esta base de
datos pero otro si.

Desventajas

● Utiliza mucho la memoria RAM para las instalaciones y utilización de software.


● No se puede utilizar como prácticas porque se prohíben muchas cosas, tiene
restricciones en lo particular.
● La relación, calidad y el precio está muy debajo comparado con oracle.
● Tiene muchos bloqueos a nivel de página, un tamaño de página fijo y demasiado
pequeño, una pésima implementación de los tipos de datos variables.

Instalación y configuración de SQL

1. Primero se ejecuta la instalación de SQL SERVER 2008 desde el CD o la Imagen del


instalador, aparecerá una ventana que es el asistente de instalación, hacemos clic en la
pestaña “Instalación” y luego en la opción “Nueva instalación independiente de SQL
Server o agregar características a una instalación existente”
2. En la siguiente ventana comenzará a cargar algunas reglas auxiliares que son
necesarias para la instalación de SQL Server 2008, si todos están en el estado correcto
hacemos clic en el botón siguiente de lo contrario si no están algunos en estado
correcto no se puede seguir o continuar con la instalación.

3. En la siguiente ventana solo hacemos clic en el botón instalación para instalar algunos
archivos auxiliares del programa de instalación.

4. Luego de haber instalado los archivos auxiliares que son necesarios para la instalación
de SQL Server 2008, la siguiente ventana que no sale es la clave del producto y nos
dan dos opciones: “Especifique una edición gratuita” y “Escriba la clave del
producto”, por defecto sale seleccionado la segunda opción y la clave, asi que solo
damos clic en el botón siguiente.
5. En esta ventana es si sobre los términos de la licencia del producto, haremos clic en la
opción “Acepto los términos de la licencia” y luego clic en siguiente.

6. La siguiente ventana nos muestra las características que queremos agregar a la


instalación, lo recomendable es seleccionar todas las características y luego clic
“Siguiente”.

7. Luego de haber agregado las características, la siguiente ventana a mostrar es sobre la


configuración de la instancia de SQL Server 2008; es decir el nombre de la
instalación, su ID y su ubicación en donde se instalará el producto. Nos dan 2
opciones: “Instancia predeterminada” y “Instancia con nombre”, seleccionar la
primera opción y luego clic en siguiente. En la siguiente ventana también damos clic
en siguiente.

8. En la siguiente ventana configuramos el servidor y para eso nos piden una cuenta de
usuario, lo cual podemos crear un usuario específico para la instalación SQL, o de lo
contrario podemos usar el usuario actual, luego hacemos clic en la pestaña
“INTERCALACIÓN”.

9. En esta pestaña de intercalación configuramos el “motor de Base de Datos” y el


“Servicio de Analisis”, para lo cual hacemos clic en el boton Personalizar en cada
uno. Luego lo personalizamos como nos muestra las figuras “Motor de Base de
Datos” y “AnalysisServices” y luego hacemos clic en siguiente.
10. Luego la siguiente ventana que nos muestra es la configuración del Motor de Base de
datos, nos dan 2 opciones Modo Auténtico de Windows y Modo Mixto (autenticación
de Sql Server y de Windows). Seleccionar el Modo Mixto, se activan las cajas de
contraseña para el inicio de sesión de autenticación de SQL Server. Después
agregamos los administradores de SQL Server para lo cual agregamos el usuario
actual; luego siguiente. Luego la otra ventana agregamos al usuario actual y
continuamos.( No olvidar la contraseña)
11. En esta ventana de configuración Reporting Services nos dan 3 opciones,
seleccionamos la primera y damos en siguiente.
12. Luego la siguiente ventana son los requisito que nos pide para poder Instalar SQL
Server. Si todo está correcto continuamos y hacemos clic en instalación, luego
siguiente y finalmente cerrar.
Nota: Si no está todo correcto ver en detalles para solucionar y realizar la instalación
Sentencias de control

1. CREATE DATABASE practica1


2. ELIMINAR UNA BASE DE DATOS
3. VERIFICAR LAS BASES DE DATOS EXISTENTES
4. verificar las tablas existentes.

EXPLICAR las bases de Master, model,


llamamos a la base; aparece un error ya que no pueden existir dos bases de datos iguales
comandos para crear un tabla
Ejemplo de programación de base de datos
bibliografias
● https://mariadb.com/kb/es/basic-sql-statements/

● https://www.campusmvp.es/recursos/post/Fundamentos-de-SQL-Insercion-de-datos-I
NSERT.aspx
● https://desarrolloweb.com/articulos/tipos-de-sentencias-sql.html

error cuando una base de datos ya es existente

tablas
ejemplo de base de datos

deber: realizar 15 sentencias en SQL con su estructura

CÓMO RENOMBRAR UNA TABLA

// crear una base de datos


create database metropolitano
// hacer un llalmado ala base de datos
use metropolitano
//crear con estandares
sp_helpdb metropolitano
USE METROPOLITANO

CREATE TABLE BOLETA (


numeroBoleta CHAR(15) NOT NULL,
fechaEmision DATE NOT NULL,
monto MONEY NOT NULL
)
INSERT INTO BOLETA VALUES ('00000001','22/04/2008',200)
INSERT INTO BOLETA VALUES ('00000002','02/01/2008',350)
INSERT INTO BOLETA VALUES ('00000003','03/10/2008',250)
INSERT INTO BOLETA VALUES ('00000004','01/05/2007',150)
INSERT INTO BOLETA VALUES ('00000005','07/12/2008',200)
INSERT INTO BOLETA VALUES ('00000006','16/08/2008',120)
INSERT INTO BOLETA VALUES ('00000007','03/01/2007',50)
INSERT INTO BOLETA VALUES ('00000008','05/03/2007',200)
INSERT INTO BOLETA VALUES ('00000009','14/09/2008',10)
INSERT INTO BOLETA VALUES ('00000010','18/12/2008',50)
INSERT INTO BOLETA VALUES ('00000011','09/11/2007',100)
INSERT INTO BOLETA VALUES ('00000012','06/10/2007',80)

SELECT *FROM BOLETA

select monto from BOLETA

create trigger TEXTO_p


on BOLETA
for insert ,UPDATE
As print ('se actualizo correctamente');
INSERT INTO BOLETA VALUES ('00000010','25/10/2018',85)

UPDATE BOLETA
SET FECHAEMISION='07/08/2012',
MONTO=20
WHERE NUMEROBOLETA=00000013

create procedure consulta


Select monto as dinero from BOLETA

----------------------------------------------------
CREATE FUNCTION SP_TOTALBOLETAS
AS
BEGIN
SELECT YEAR(FECHAEMISION) AS [AÑO],
COUNT(*) AS [TOTAL]
FROM BOLETA
GROUP BY YEAR(FECHAEMISION)
END
EXEC SP_TOTALBOLETAS

// SENTENCIAS PARA CREAR PROCEDIMIENTOS

CREATE PROCEDURE SP_TOTALBOLETAS


AS
BEGIN
SELECT YEAR(FECHAEMISION) AS [AÑO],
COUNT(*) AS [TOTAL]
FROM BOLETA
GROUP BY YEAR(FECHAEMISION)
END

// SENTENCIAS PARA LLALMAR EL PROCEDIMIENTO


EXEC SP_TOTALBOLETAS

SELECT *FROM BOLETA


// muestra el valor del monto maxino sin un nombre en la columna
SELECT MAX(monto) from Boleta as [valor_mayor]
// muestra el valor del monto maxino con un nombre en la columna
SELECT MAX(monto) As [valor_mayor] from BOLETA
------------------------------------------------
CREATE FUNCTION FN_TOTALBOLETAS(@AÑO INT)
RETURNS INT
AS
BEGIN
DECLARE @TOTAL INT
SELECT @TOTAL=COUNT(*)
FROM BOLETA
WHERE YEAR(FECHAEMISION)=@AÑO
GROUP BY YEAR(FECHAEMISION)
RETURN @TOTAL
END

--Probando la funcion usando una consulta:


SELECT DBO.FN_TOTALBOLETAS(2007) AS [TOTAL DE BOLETAS]

--O usando el comando Print:


PRINT 'EL TOTAL DE BOLETAS ES: '+STR(DBO.FN_TOTALBOLETAS(2007))

Si la base de datos existe (ventas) que no acepta valores nulos, empieze eliminando la base de
datos ventas.
¿Cómo se relacionan 2 tablas?
-- tabla préstamo

create table Prestamo (


[Id_Lector]numeric,
FOREIGN KEY (Id_Lector) REFERENCES Estudiante (Id_Lector), [Id_Libro] numeric,
FOREIGN KEY (Id_Libro) REFERENCES Libro (Id_Libro), [Fecha_Prestamo] nchar(10),
[Fecha_Devuelto]nchar(10),
[Devuelto]nchar(10))

select * from prestamo


insert into Prestamo values
('31','001','08/04/2012','10/04/2012','11/04/2012')
insert into Prestamo values ('32','005','08/04/2012','10/04/2012', '10/04/2012')
insert into Prestamo values ('33','006','08/04/2012','10/04/2012','12/04/2012')
insert into Prestamo values ('34','005','07/05/2012','09/05/2012','10/05/2012')
insert into Prestamo values ('35','004','09/05/2012','11/05/2012','11/05/2012')
insert into Prestamo values ('36','003','25/05/2012','28/05/2012','28/05/2012')
insert into Prestamo values ('37','001','12/06/2012','14/06/2012','15/06/2012')
insert into Prestamo values ('38','001','13/06/2012','15/06/2012','15/06/2012')
insert into Prestamo values ('39','006','14/01/2013','16/01/2013','16/01/2013')
insert into Prestamo values ('40','007','16/02/2013','18/02/2013','18/02/2013')
insert into Prestamo values ('41','008','20/02/2013','22/02/2013','25/02/2013')
insert into Prestamo values ('42','007','11/03/2013','13/03/2013','13/03/2013')
insert into Prestamo values ('43','010','27/03/2013','29/03/2013','01/04/2013')
insert into Prestamo values ('44','006','08/04/2013','10/04/2013','10/04/2013')
insert into Prestamo values ('45','002','08/04/2013','10/04/2013','10/04/2013')

-- tabla estudiante
select * from Estudiante
create table Estudiante
(
[Id_Lector]numeric,
primary key (Id_Lector),
[CI] char(5),
[Nombre]text,
[Apellido] text,
[Direccion] text,
[Carrera] text,
[Edad]char(5)
)
insert into Estudiante values ('31','3498','Maria','crispin','noche triste','contabilidad','17')
insert into Estudiante values ('32','3498','Jonathan','Garcia Lopez ','morelos no
7','alimentos','17')
insert into Estudiante values ('33','6295','roberto','Sanchez Mejia','flor de azalia
SN','agrobiotecnologia','20')
insert into Estudiante values ('34','3452','Paola','Cervantes Castillo','Av.
Zaragoza','contabilidad','18')
insert into Estudiante values ('35','3792','mayra','Hernandez Sanchez','Allende No
3','alimentos','22')
insert into Estudiante values ('36','6295','ivan','Trejo Aragon','Galeana
No23','contabilidad','19')
insert into Estudiante values ('37','2443','Alexander','Borregero Cerero','Guerrero
No8','contabilidad','18')
insert into Estudiante values ('38','3452','Erick', 'Diaz olalde','Puerta Norte
No6','agrobiotecnologa','18')
insert into Estudiante values ('39','2443','luis', 'Chaltel Gaspar','noche triste','paramedicos','19')
insert into Estudiante values ('40','3452','Enrique', 'Aldama Leyte','ahuehuetes ','tic-si','22')
insert into Estudiante values ('41','3498','raul', 'Valdez Alanes', 'noche triste
No9','administrador','17')
insert into Estudiante values ('42','1073','Sandra' , 'Guzman Agurre','Hidalgo
No12','contabilidad','20')
insert into Estudiante values ('43','3792','Maricruz','Crispin Claveria','Mariano Matamoros
SN','contabilidad','19')
insert into Estudiante values ('44','1073','Gabriel', ' Liberato
Cuacuamoxtla','Cuauhtemoc','administracion','23')
insert into Estudiante values ('45','2443','Marisol', 'Jimenez Jimenez','Los pinos
No15','tic-si','20')

--tabla libros

select * from Libro


create table Libro
(
[Id_Libro] numeric,
primary key (Id_Libro),
[Titulo]text,
[Editorial] text,
[Area] text)

insert into Libro values ('001','El Señor de las Moscas','Marruecos','Novela')


insert into Libro values ('002','El Esclavo','Porrua','Narracion') insert into Libro values
('003','El Señor de los Anillos','FCE','Internet')
insert into Libro values ('004','Don Quijote de la Mancha','Grijalva','Narracion')
insert into Libro values ('005','visual Estudio Net','Alfay Omega','informatica')
insert into Libro values ('006','Base de Datos','Alfay Omega','informatica')
insert into Libro values ('007','Ingenieria de Software','Alfay Omega','informatica')
insert into Libro values ('008','Un Mexicano Mas','planeta','novela') insert into Libro values
('009','Entregame tu corazon','Marruecos','Novela')
insert into Libro values ('010','Harry Potter','edicciones prado','Internet')
insert into Libro values ('011','Harry Potter:Las Reliquias de la Muerte ','edicciones
prado','Internet')
insert into Libro values ('012','Orgullo y Prejuicio','Marruecos','Novela')
insert into Libro values ('013','Romeo y Julienta','Marruecos','Novela') insert into Libro
values ('014','Navidad en las Montañas','Marruecos','Narracion')
insert into Libro values ('015','El Señor de los Anillos: Las Dos Torres','FCE','Internet')

--Tabla Autor

select * from Autor


create table Autor
(
[Id_Autor]numeric,
primary key (Id_Autor),
[Nombre]text,
[Nacionalidad] text,
[Edad] char (5),
)
insert into Autor values ('16','Juan Rufol','mexicano','45') insert into Autor values
('17','Willian Golding','Alemania','50') insert into Autor values ('18','Barbara
Gostmich','Francia','33') insert into Autor values ('19','Mario Benedetti','USA','47') insert into
Autor values ('20','Altamirano','mexicano','65') insert into Autor values ('21','Jose
Gonzalez','italiano','55')
insert into Autor values ('22','Ana laura Delgado','mexicano','48') insert into Autor values
('23','Og Mandino','Usa','44')
insert into Autor values ('24','thomas Huxley','japones','60')
insert into Autor values ('25','Leticia Lopez Juarez','Canadiense','58') insert into Autor values
('26','Osar Palacios Ceballos','mexicano','45') insert into Autor values ('27','Zamná
Heredia','portugues','62')
insert into Autor values ('28','maria Bernaldez ','mexicano','54') insert into Autor values
('29','Jhon y Rita Lang','italiano','55') insert into Autor values ('30','Rafael
Camacho','chileno','62')

-- tabla libaut
select * from LibAut
create table LibAut
(
[Id_Autor]numeric,
FOREIGN KEY (Id_Autor) REFERENCES Autor (Id_Autor),
[Id_Libro] numeric,
FOREIGN KEY (Id_Libro)REFERENCES Libro (Id_Libro))

select * from LibAut


insert into LibAut values('16','001')
insert into LibAut values ('17','002')
insert into LibAut values ('18','003')
insert into LibAut values('19','004')
insert into LibAut values('20','005')
insert into LibAut values('21','006')
insert into LibAut values('22','007')
insert into LibAut values('23','008')
insert into LibAut values('24','009')
insert into LibAut values('25','010')
insert into LibAut values('26','011')
insert into LibAut values('27','012')
insert into LibAut values('28','013')
insert into LibAut values('29','014')
insert into LibAut values('30','015')

OPERADORES SQL

-- mayor o menor que


select Edad, Nombre from Estudiante1
where Edad > 40 -- unicamente para números

--listar los datos de los autores


select*from Autor1
--listar nombre y edad de los estudiantes
select Edad, Nombre from Estudiante1
--seleccionar que libros pertenecen a OMEGA
select*from Libro2
select id_libro,titulo,editorial,area from Libro2
where editorial like 'Alfay Omega' -- aplicando el like podemos seleccionar unicamente
contenido en texto
-- desplegar los titulos del libros que comiencen con la letra E
select titulo from Libro2
where titulo like 'e%'

--desplegar los titulos del libros que terminen con la letra S--
select titulo from Libro2
where titulo like '%s'

-- desplegar los titulos del libros que la segunda letra inicie con la letra N--
select titulo from Libro2
where titulo like '_n%'
-- seleccione la edad de los autores y calcule la edad media renombrado 
con edad promedio 
select*from autor1 
select avg(edad) as 'edad promedio' from Autor1 

nota. el programa no compila por el tipo de caracteres


nota2. el sintaxis está correcto

Вам также может понравиться