Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INGENIERIA DE SISTEMAS
P S
E
Medio ambiente
Computación Sistemas Abiertos
en
Red
100 Es
Oe
0
1er 4to No
Construcción del
trim. trim.
Software
Ing. Sistemas .. RCG Base de Datos 9
SISTEMAS DE INFORMACIÓN
HARDWARE
INFORMACIÓN
SOFTWARE
TALENTO
DATOS HUMANO
CONJUNTO
DATOS RELACIONES COMPORTAMIENTO
PROCESOS
1. CONJUNTO DE ENTIDADES?
DEPENDENCIA Código
Nombre
Código
CARGO Descripción
Salario
Doc Ident
Tipo Doc
Nombre
FAMILIAR Sexo
Parentesco
Ing. Sistemas .. RCG Base de Datos 14
TIPOS DE SISTEMAS DE INFORMACIÓN (S.I.)
Difícil acceso
a los datos Dificultad para administrar Coste de
la seguridad del sistema almacenamiento
elevado
Menor
redundancia Integridad
de los datos
NIVEL DE
VISION U1 U2 U2 ……
INCLUYE ADEMAS DE
LA DEFINICION DE LOS DATOS
NIVEL (CONJUNTO DE ENTIDADES Y RELACIONES) OTRAS
LOGICO UNIDADES DE AGRUPACION PROPIAS DE CADA DBS
Aplicación
Red
Red
Servidor de Aplicaciones Servidor
SGBD Servidor
SGBD
Ing. Sistemas .. RCG Base de Datos 25
ARQUITECTURA DEL DBMS PostgreSQL
Server
Posmaster
Client
Libpq
Aplication
Frontend
Postgres Server
(Backend)
Storage Manager
Shared Buffer
Aceptar Comunicación
Posmaster Autentificar
Administración de
Postgres Consultas y
Comandos
Almacenamiento - datos
Storage Administración del buffer,
archivos, bloqueos
Controla todos los
Manager trabajos del back-end
y control de la consistencia de la
información.
CLUSTER
DATABASE TABLESPACE
USER´S
OBJETOS
DATABASE
DATAFILE
DATAFILES
CONTROL FILES
roles
Usuarios
D BM
NIVEL ESTRATEGICO
C. INTERNOS
NIVEL TACTICO
NIVEL OPERATIVO
S
CLIENTES EXTERNOS
DBMS = SGBD
DEFINICIÓN
(DDL)
USUARIOS MANIPULACION
(DML)
UTILIZACION Y
CONTROL
(DCL)
DBMS
Uso de:
MODELOS FISICOS
LIBRO
___________
Isbn
ENTIDADES
Título
Métodos
Escrito Por
AUTOR
____________
Cédula
Nombre
OBJETOS MUNDO REAL
MODELO SEMANTICO
MODELO ENTIDAD-RELACION
(E/R)
2 Niveles
MODELO EN RED
MODELO JERARQUICO
MODELO RELACIONAL
Ana
Balòn de Balòn
Voleibol
José
Fútbol
Carro
Carreras Juan
Pedro
Bus
I. A) El mundo formado de ENTIDADES
Ana
Balòn de Balòn
Fútbol Voleibol
José
BALON
Carro
Carreras
Juan
Pedro
ESTUDIANTE
Bus
I. B) Agrupar las entidades
en CONJUNTO DE ENTIDADES
VEHICULO
Relación
Relación
Ing. Sistemas .. RCG Base de Datos 51
MODELO SEMANTICO
Conduce (ESTUDIANTE, VEHICULO)
P E
REPRESENTACIÓN GRÁFICA
REPRESENTACIÓN CONJUNTIVA
ESTUDIANTE
Código
ENLACES Conduce
E={e / P(e) }
• Nombre
Gr ( R ) = n Atributos
Atributos
PROFESOR
LIBRO
Atributos
Atributos
BIBLIOTECA Atributos
ALGORITMO
Atributos
(0,1) Casa (0,1)
MUJER HOMBRE
Con
Atributos
Relación una a Muchas: 1:n
1:N
Atributos
(1,1) (1,n)
DEPENDENCIA Tiene funcionario
Atributos
Ing. Sistemas .. RCG Base de Datos 61
MODELO ENTIDAD-RELACION (E/R)
CARDINALIDAD DE UN TIPO DE ENTIDADES
Relación de Muchas a una: n:1
N:1
(1,n) (0,1)
Atributos JOVEN Estudia UNIVERSIDAD
Atributos
Relación de Muchas a Muchas: n:m
N:M
Atributos
Ing. Sistemas .. RCG Base de Datos 62
MODELO ENTIDAD-RELACION (E/R)
ROLES DE LOS TE en un TR
Estudia
(1,n) (0,1)
JOVEN Estudia UNIVERSIDAD
Forma
Atributos
Atributos
N:1
N:M
Ofrecido
(1,n) (1,m)
ARTICULO Ofrecido PROVEEDOR
Ofrece
Atributos
Atributos
Ing. Sistemas .. RCG Base de Datos 63
FACULTAD
Código MODELO E/R DEL SIAC
(1,1)
Nombre
Conformada
Teléfono
1:N Conformada
Nro_Horas Cédula Nombre Código
Conforma
Código a: N:M
(1,n)
(1,m)
PROGRAMA (1,n) Contrata DOCENTE Clasificado CATEGORIA
Nombre por:
Valor_Hora Nombre
1:N Matricula Ofrece Orienta
Nombre Código
Código
Cursó i_horaria
Nombre
Pertenece Cursa
N:1 a: Prerrequisito
N1
Nro N2
ESTRATO Valor_Mat
N3
MODELO ENTIDAD-RELACION (E/R)
ATRIBUTOS Y DOMINIO
D= {vi / p(vi)} Fi : Ei Di
P:Sexo {F,M}
s P(s)= s es “F” o “M”
PRIMER PRINCIPIO DE INTEGRIDAD EN DB
Nombre
{ I. Horaria } NO ES SUPERCLAVE
Nombre
Atributos
N:M Publica
en Escribe N:M
1:N
(1,m)
(1,m)
(1,1) (1,n)
Atributos Edita
EDITORIAL LIBRO
A) DEPENDENCIA EN EXISTENCIA
E
(1,1) (1,n)
DEPENDENCIA Tiene FUNCIONARIO
1:N
Publicado REVISTA
ARTICULO
Aparece RECOPILACION
Is A
(0,1) (0,1)
DOCENTE NO DOCENTE
Nro_Horas Salario
Uno o Más
Obligatorio (uno o debe ser)
MODELO RELACIONAL DE LA DB
( RELATIONAL DATABASE =RDB) DDL, DCL,
DML SQL ALGEBRAL Y CALCULO
RELACIONAL.
ESTRUCTURA DE UN RDB
Nombre Nombre
RECTOR UNIVERSIDAD
Dirige
PK PK FK
Cédula Nombre Código Cédula Nombre
RECTOR UNIVERSIDAD
RELACION 1:N ó N:1 E/R RDB
Código
Código 1:N
Conformada
(1,1) (1,n)
FACULTAD Conformada PROGRAMA
Conforma a
Nombre Nombre
PK PK FK
Código Nombre Código Código_F Nombre
4 Ingeniería 23 3 Administración
5 Salud 12 5 Medicina
3 Eco-admin 25 4 Sistemas
FACULTAD PROGRAMA
RELACION N:M RDB
NFac
Vende N:M
Cant
Valor
Nombre
(1,M)
Cód
UM MATERIA PRIMA
PROVEEDOR PROVEEDOR-MATERIA-P
Nit Nombre Tel Nit Cód NFac Cant Valo
11 Sao 1 r
11 A1 1 10 500
22 Compu 3
11 E1 1 15 100
33 Vivero 2
22 A1 1 20 200
PK
MATERIA PRIMA
PK 33 C1 2 12 350
Cód Nombre UM 11 D1 2 11 200
A1 Tela mt 22 D1 2 13 200
B1 Botón Un 22 C1 2 28 350
C1 Pega Fr 33 A1 3 34 500
D1 Cuero Mt 22 B1 3 15 150
E1 Hilo Tb 11 A1 4 12 500
FK FK
PK
RELACION DE DEPENDENCIA RDB
E
Tiene
(1,1) (1,n)
FUNCIONARIO Tiene FAMILIAR
Pariente
de
Cédula Nombre
1:N Código Nombre
FAMILIAR
123 Eduardo
1 123 Carolina
145 Carlos
8 145 Pedro
167 Maria del P
3 112 Juan Alfredo
189 Omar
4 189 Tatiana
112 Julio
7 112 Mario
PK PK FK
RELACION DE GENERALIZACION Y
HERENCIA RDB
Is A
(0,1) (0,1)
DOCENTE NO DOCENTE
Nro_Horas Salario
189 320
PK = FK
DDL
SQL
DML
COMANDO DESCRIPCION
Uso de:
CLUSTER
DATABASE TABLESPACE
USER
AND
GROUP USER SCHEMAS CATALOG EXTENSIONS
ROLES OBJETOS
AND
PRIVILEGES TABLAS OTROS OBJETOS
ROL
En psql el metacomando
\du
Ing. Sistemas .. RCG Base de Datos 94
Roles y privilegios para una
BD O DB en PostgreSQL
CREAR ROLES /USUARIOS
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| CONNECTION LIMIT connlimit
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD ’password’
| VALID UNTIL ’timestamp’
| IN ROLE role_name [, ...]
| ROLE role_name [, ...]
NOTAS
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| CONNECTION LIMIT connlimit
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD ’password’
| VALID UNTIL ’timestamp’
| IN ROLE role_name [, ...]
| ROLE role_name [, ...]
EJEMPLO :
Crear una
TABLESPACE
10
Ing. Sistemas .. RCG Base de Datos 0
Tablespaces
Modificar la
definición de una
TABLESPACE
10
Ing. Sistemas .. RCG Base de Datos 1
Tablespaces
Borrar una
TABLESPACE
10
Ing. Sistemas .. RCG Base de Datos 2
Database ….db…..Base de
Datos..BD
CREATE DATABASE name
[ TABLESPACE [=] tablespace_name ]
10
Ing. Sistemas .. RCG Base de Datos 4
Database ….db…..Base de
Datos..BD
Borrar una
DATABASE
Crear un SCHEMA
10
Ing. Sistemas .. RCG Base de Datos 6
SCHEMAS
Modificar la
definición de un
SCHEMA
10
Ing. Sistemas .. RCG Base de Datos 7
SCHEMAS
Borrar un SCHEMA
CASCADE
Borra automáticamente los objetos (tablas, funciones, etc)
que están contenidos en el esquema.
10
Ing. Sistemas .. RCG Base de Datos 9
SHOW search_path;
11
Ing. Sistemas .. RCG Base de Datos 0
Conexión
Cliente/servidor
CLIENTE
SERVIDOR
Alias servidor
-- pg_hda.conf
-- #TYPE DATABASE USER CIDR-ADDRESS METHOD
Base datos
-- postgresql.conf
-- # CONNECTIONS AND AUTHENTICATION
#listen_addresses = '*'
# puerto =5432
Tipos de datos en PostgreSQL
create , alter
y drop
table 11
Ing. Sistemas .. RCG Base de Datos 8
Create table
Las TABLAS son los Objetos básicos en una RDB , para crear
Una tabla se usa el comando:
FAMILIAR
#Cedula:bigint
Nombre:varchar(50)
Sexo:Char(1)
Parentesco:varchar(10)
EMPRESA SYSTEMAS SA
FUNCIONARIO
CODIGO- CODIGO-
CEDULA D C NOMBRE SEXO
DEPENDENCIA
2009214013 10 1 ARIZA HERNANDEZ ALDEMIR JOSE M
CODIGO NOMBRE JEFE
BENJUMEA VASQUEZ ANDRES
10 DIRECCION 2010214019 20 2 CAMILO M
20 SUBDIRECCIÓN 10 CAMPIÑO CARRILLO ALBEIRO
30 MERCADEO 10 2009214027 21 3 JUNIOR M
COORDINACIÓ 2010114022 20 5 CASTRO PEÑARANDA MIKE LIDER M
11 N 10 2009214040 21 2 DANIEL SABOGAL SANTIAGO M
21 PLANEACIÓN 20 2013114141 11 3 FULA ARIAS NATALIA F
ATENCION MARIÑO CASTRO CESAR
31 CLIENTE 30 2007114116 31 5 ARMANDO M
2010214070 30 2 MARTINEZ OSORIO LINA MARIA F
MENDOZA PADILLA ERICK
2008214126 20 5 WILLIAM M
MERIÑO CAJAR ARNALDO
2009114059 20 5 ANDRES M
FAMILIARES 2009214075 31 7 MUÑOZ PEREZ KELLY F
CEDULA CEDULA-F NOMBRE SEXO
100 2010214019 JUAN M CARGO
200 2009214027 MARIA F SALARI
300 2010214070 MARTA F CODIGO DESCRPCION O
500 2009214013 PEDRO M 1 DIRECTOR 6000000
400 2010214019 JHOAN M 2 PROFESIONAL 15 4500000
800 2009214027 WILLIAM M 3 PROFESIONAL 12 3800000
900 2010114022 SAUL M 5 TECNICO 9 2500000
7 SECREATRIA 1200000
700 2009214040 KELLY F
120 2013114141 DIANA F
350 2007114116 ESTELA F
450 2010214070 MIGUEL M
Create table
EMPRESA SYSTEMAS
12
Ing. Sistemas .. RCG Base de Datos 2
Create table
CREATE TABLE [ IF NOT EXISTS ] table_{ column_name data_type ] [
column_constraint [ ... ] ]
| [TABLESPACE tablespace_name ];
12
Ing. Sistemas .. RCG Base de Datos 3
CREATE TABLE scott.emp
job VARCHAR(9),
PROPOSITO :
Cambiar la definición de una tabla en una de las siguientes
formas:
• Add columns
• Remove columns
• Add constraints
• Remove constraints
• Change default values
• Change column data types
• Rename columns
• Rename tables
12
Ing. Sistemas .. RCG Base de Datos 7
ALTER TABLE
12
Ing. Sistemas .. RCG Base de Datos 8
DROP table
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
12
Ing. Sistemas .. RCG Base de Datos 9
SQL
COMANDOS BASICOS DML
COMANDO DESCRIPCION
PROCEDIMENTALES
OPERACIONES
ALGEBRA RELACIONAL
LENGUAJES DE CONSULTA
DML
NO PROCEDIMENTALES
DESCRIPCIÓN
INSERT
DML DELETE CALCULO RELACIONAL
UPDATE DE TUPLAS
QUERY CALCULO RELACIONAL
DE DOMINIOS
13
Ing. Sistemas .. RCG Base de Datos 4
MODELO RELACIONAL , ALGEBRA
RELACIONAL Y SQL
FUNCIONARIO Cada fila en una tabla define una
Cédula Nombre
relación entre valores de cada una de
123 Eduardo Las columnas.
145 Carlos
167 Maria del P Existe una correspondencia entre tabla y
relación matemática.
189 Omar
112 Julio
r : D1 ---------- D2
Fila = row = instancia Cédula ---- Nombre
123 ------ Eduardo
145 ----- Carlos
13
Ing. Sistemas .. RCG Base de Datos 6
ALGEBRA RELACIONAL
OPERACIONES
UNARIAS BINARIAS
r1 r1 OP r
OP r
r2
r = OP(r1) r = r1 OP r2
13
Ing. Sistemas .. RCG Base de Datos 7
ALGEBRA RELACIONAL
Y
SQL
Proyección P
Selección s
Renombrar r
Producto Cartesiano X
Unión U
Intersección
13
Ing. Sistemas .. RCG Base de Datos 8
Cédula Nombre
RECTOR
PROYECCION P
123 Carlos
Caicedo
345 Jesús Ferro
167 Juan
Gutierrez
r
P r1 P Col1,Col2,Col3... (r)
13
Ing. Sistemas .. RCG Base de Datos 9
PROYECCION P
Cédula Nombre
Mostrar el nombre de los rectores de la
123 Carlos tabla rector.
Caicedo
P
Nombre
345 Jesús Ferro
RECTOR Juan
Gutierrez
r1
14
Ing. Sistemas .. RCG Base de Datos 0
Selección s r
s r1
s Condición(r)
345
167
Jesús Ferro
Juan Gutierrez
r1 s (RECTOR)
RECTOR Mostrar de cual Universidad es
Rector CARLOS CAICEDO si
Código Cédula Nombre Su cedula es 123.
3
2
167
123
U. Cartagena
U. Magdalena
s Cédula =123 (UNIVERSIDAD)
Código Cédula Nombre
1 345 U. Norte
2 123 U. Magdalena
UNIVERSIDAD
r1
14
Ing. Sistemas .. RCG Base de Datos 2
Nit Cód
P-M-P
NFac Cant Valor
Selección s
11 A1 1 10 500 Mostrar la tuplas cuyo valor
11 E1 1 15 100 Sea mayor de 350
22 A1 1 20 200 s Valor > 350(P-M-P)
33 C1 2 12 350
11 D1 2 11 200 Mostar las row’s cuyo valor
22 D1 2 13 200 Este entre 150 y 350
22 C1 2 28 350
33
22
A1
B1
3
3
34
15
500
150
s Valor >=150(P-M-P)
and
11 A1 4 12 500 valor <=350
pk Fun r2
cod nombre r
1 pedro
Fun.Cod Fun.nombre Fam.c Fam.cod Fam.nom
3 carlos
1 Pedro 11 1 luis
X 1 Pedro 33 3 jose
C cod Nom
1 Pedro 22 1 edwin
3 Carlos 11 1 luis
11 1 luis
3 Carlos 33 3 jose
33 3 jose
3 Carlos 22 1 edwin
22 1 edwin
fk
fam
Cualificación Nombre_tabla.Atributo Fun.cod
14
Ing. Sistemas .. RCG Base de Datos 4
PRODUCTO NATURAL
Fun
s (r1Xr2)
r1.pk=r2.fk
= s (r1 X r2)
pk
cod nombre r
1 pedro
Fun.Cod Fun.nombre Fam.c Fam.cod Fam.nom
3 carlos
1 Pedro 11 1 luis
X 1 Pedro 33 3 jose
C cod Nom
1 Pedro 22 1 edwin
fam
3 Carlos 11 1 luis
11 1 luis
3 Carlos 33 3 jose
33 3 jose
3 Carlos 22 1 edwin
22 1 edwin
fk sFun.cod=Fam.cod
Fun.Cod Fun.nombre Fam.c Fam.cod Fam.nom
r2 1 Pedro 11 1 luis
fam PADRE DE Fun
1 Pedro 22 1 edwin
3 Carlos 33 3 jose
Fun
X r sFun.cod=Fam.cod r1 P* r2
14
Fam Ing. Sistemas .. RCG Base de Datos 5
PRODUCTO NATURAL
P *
(
s (FunXFam))
Fun
X r sFun.cod=Fam.cod r1 P Fun.nombre,fam.nombre
Fam
r2
P Fun.Nombre, Fam.Nombre
(
s (FunXFam))
Fun.cod=Fam.cod
Fun.nombre
Pedro
Pedro
Fam.nom
luis
edwin
s
Carlos jose
P Fun.Nombre, Fam.Nombre
( (Fun X Fam))
14
Ing. Sistemas .. RCG Base de Datos 6
RENOMBRAR o ALIAS
r rr1 r1
rr1(r)
r
Cédula Nombre Cédula Nombre
22 Samuel PROFESOR (DOCENTE) 22 Samuel
33 Maria del 33 Maria del
Pila Pila
12 Omar 12 Omar
DOCENTE PROFESOR
14
Ing. Sistemas .. RCG Base de Datos 7
UNION E INTERSECCION
r1 r1
U r r
r2 r2
r1 U r2 r1 r2
14
Ing. Sistemas .. RCG Base de Datos 8
Algebra Relacional : DB =SIAC
Ejemplos
Las Consultas deben Mostrar :
1 ) El código y nombre de todas las Facultades.
2) El nombre de todos los programas que ofrece la universidad
3) El Código y Nombre de todas de las ingenierìas.
4) La cédula, nombre de todos los docentes de la Universidad
5) El Nombre de todos los docentes magíster.
6) La cédula y nombre de todos los docentes de la U ordenados
alfabéticamente.
7) El Código, nombre y nombre facultad de todos los programas
de la U ordenados por facultad.
8) Los estudiantes (código y nombre)de Cada facultad ordenados
alfabéticamente
9) las materias (codigo, nombre) del semestre con los estudiantes
que las cursan ( Codigo, nombre , n1,n2,n3 y definitiva) , ordenar
por materias y en cada materia los estudiantes ordenados
alfabéticamente.
14
Ing. Sistemas .. RCG Base de Datos 9
Algebra Relacional : DB =SIAC
Ejemplos
15
Ing. Sistemas .. RCG Base de Datos 1
CONEXIÓN CON JAVA NetBeans
Dependencia
CODIGO NOMBRE JEFE
Funcionario
Familiar
CEDULA CEDULA-F NOMBRE SEXO
Cargo
CODIGO DESCRPCION SALARIO
15
Ing. Sistemas .. RCG Base de Datos 2
CONEXIÓN CON JAVA NetBeans
1. Inluir librería sql en el proyecto
// Libreria
import java.sql.*;
String User;
String Password; 15
3
jdbc:postgreslq://ubicacion_de_BD:puerto/nombre_BD
driver = “org.postgresql.Driver”;
connectString = “jdbc:postgresql://localhost:5432/postgres”;
user = “postgres”; 15
password = “ricardocg″; 4
// Cargar driver
Class.forName(driver);
catch ( Exception e ){
System.out.println(e.getMessage());
Figura o imagen
RCG
15
Ing. Sistemas .. RCG Base de Datos 7
Estructura de aplicativo Java
consultas a BD empresa Sistemas SA
Retornar
DEPENDENCIAS
RCG
15
Ing. Sistemas .. RCG Base de Datos 8
Estructura de aplicativo Java
consultas a BD empresa Sistemas SA
Retornar
CARGOS
RCG
15
Ing. Sistemas .. RCG Base de Datos 9
Estructura de aplicativo Java
consultas a BD empresa Sistemas SA
Retornar
FUNCIONARIOS
Cédula Nombre Sexo Salario Dependencia
RCG
16
Ing. Sistemas .. RCG Base de Datos 0
Estructura de aplicativo Java
consultas a BD empresa Sistemas SA
Retornar
FAMILIARES
Cédula Nombre Sexo Funcionario
RCG
16
Ing. Sistemas .. RCG Base de Datos 1