Académique Documents
Professionnel Documents
Culture Documents
Seguridad
Objetivo: Administra el acceso a los diferentes recursos de
la base de datos
Para acceder a los datos en una BD Oracle, se debe tener acceso a una cuenta en
esa BD. Cada cuenta debe tener una palabra clave o password asociada. Una
cuenta en una BD puede estar ligada con una cuenta de sistema operativo. Los
passwords son fijados cuando se crea un usuario y pueden ser alterados por el DBA
o por el usuario mismo. La BD almacena una versin encriptada del password en
una tabla del diccionario llamada dba_users. Si la cuenta en la BD est asociada a
una cuenta del sistema operativo puede evitarse la comprobacin del password,
dndose por vlida la comprobacin de la identidad del usuario realizada por el SO.
Lo que puede hacer un usuario logeado a la base de datos depende de los permisos
que tenga asignados ya sea directamente (GRANT) como sobre algn rol que tenga
asignado (CREATE ROLE).
El perfil que tenga asignado influye en los recursos del sistema de los que dispone
un usuario a la hora de ejecutar Oracle (CREATE PROFILE).
SELECT
* FROM dba_users;
USE mysql;
SELECT host, user, password
FROM user;
Borrar usuarios
Tanto Oracle como MySQL permiten eliminar usuarios mediante la sentencia DROP
USER, con una sintaxis similar
Es importantsimo que al final poner el ';' despus de poner cada lnea pulsar 'intro',
pues si hay algn error mysql nos indicar en que lnea est el error.
Nivel global
Los privilegios globales se aplican a todas las bases de datos de un servidor dado.
Estos privilegios se almacenan en la tabla mysql.user.
GRANT ALL ON *.* y REVOKE ALL ON *.*
Conceden y revocan slo privilegios globales.
Los privilegios de base de datos se aplican a todos los objetos en una base de datos
dada. Estos privilegios se almacenan en las tablas mysql.dby mysql.host.
GRANT ALL ON db_name.* y REVOKE ALL ON db_name.*
Otorgan y revocan slo privilegios de base de datos.
Nivel de tabla
Los privilegios de tabla se aplican a todas las columnas de una tabla dada. Estos
privilegios se almacenan en la tabla mysql.tables_priv.
GRANT ALL ON db_name.tbl_name y REVOKE ALL ON db_name.tbl_name
Conceden y revocan nicamente privilegios de tabla.
Nivel de columna
Los privilegios de columna se aplican a una columna individual en una tabla dada.
Estos privilegios se almacenan en la tabla mysql.columns_priv. Cuando se usa
REVOKE, se deben especificar las mismas columnas que cuando se concedieron
los privilegios.
Nivel de procedimiento
mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM usuario [, usuario] ...
Asignar todos los privilegios menos los GRANT OPTION
4.4. Roles
Un rol es una coleccin de privilegios del sistema y de objetos que se otorgan a
usuarios y a otras tareas. Oracle dispone de muchos roles predeterminados
mientras que MySQL no los soporta.
El rol CONNECECT permite al usuario conectarse a la base de datos, crear tablas,
vistas, secuencias, sinnimos y otros objetos en el esquema asociado.
El rol RESOURCE permite al usuario utilizar los recursos tpicos para la
programacin de aplicaciones (clusters, disparadores, paquetes, funciones, etc.)
[ NOT IDENTIFIED
| IDENTIFIED {BY password | USING [usuario.] paquete
| EXTERNALLY | GLOBALLY }
];
4.5. Vistas
Una vista es una tabla virtual cuyo contenido est definido por una consulta..
Una vista es sencillamente un objeto de base de datos que presenta datos de tablas.
Se trata de una consulta SQL que est permanentemente almacenada en la Base
de datos y a la que se le asigna un nombre, de modo que los resultados de la
Las tablas y las vistas comparten el mismo espacio de nombres en la base de datos,
por lo tanto, una base de datos no puede contener una tabla y una vista con el
mismo nombre.
(188, 'CR', 'CRI', 506, 'Costa Rica', 'Amrica', 'Amrica Central', 'CRC', 'Coln
costarricense'),
(191, 'HR', 'HRV', 385, 'Croacia', 'Europa', NULL, 'HRK', 'Kuna croata'),
(192, 'CU', 'CUB', 53, 'Cuba', 'Amrica', 'El Caribe', 'CUP', 'Peso cubano'),
(196, 'CY', 'CYP', 357, 'Chipre', 'Europa', NULL, 'CYP', 'Libra chipriota'),
(203, 'CZ', 'CZE', 420, 'Repblica Checa', 'Europa', NULL, 'CZK', 'Koruna checa'),
(204, 'BJ', 'BEN', 229, 'Benn', 'frica', NULL, NULL, NULL),
(208, 'DK', 'DNK', 45, 'Dinamarca', 'Europa', NULL, 'DKK', 'Corona danesa'),
(212, 'DM', 'DMA', 1767, 'Dominica', 'Amrica', 'El Caribe', NULL, NULL),
(214, 'DO', 'DOM', 1809, 'Repblica Dominicana', 'Amrica', 'El Caribe', 'DOP', 'Peso
dominicano'),
(218, 'EC', 'ECU', 593, 'Ecuador', 'Amrica', 'Amrica del Sur', NULL, NULL),
(222, 'SV', 'SLV', 503, 'El Salvador', 'Amrica', 'Amrica Central', 'SVC', 'Coln
salvadoreo'),
(226, 'GQ', 'GNQ', 240, 'Guinea Ecuatorial', 'frica', NULL, NULL, NULL),
(231, 'ET', 'ETH', 251, 'Etiopa', 'frica', NULL, 'ETB', 'Birr etope'),
(232, 'ER', 'ERI', 291, 'Eritrea', 'frica', NULL, 'ERN', 'Nakfa eritreo'),
(233, 'EE', 'EST', 372, 'Estonia', 'Europa', NULL, 'EEK', 'Corona estonia'),
(234, 'FO', 'FRO', 298, 'Islas Feroe', 'Europa', NULL, NULL, NULL),
(238, 'FK', 'FLK', 500, 'Islas Malvinas', 'Amrica', 'Amrica del Sur', 'FKP', 'Libra
malvinense'),
(239, 'GS', 'SGS', 0, 'Islas Georgias del Sur y Sandwich del Sur', 'Amrica', 'Amrica del
Sur', NULL, NULL),
(242, 'FJ', 'FJI', 679, 'Fiyi', 'Oceana', NULL, 'FJD', 'Dlar fijiano'),
(246, 'FI', 'FIN', 358, 'Finlandia', 'Europa', NULL, 'EUR', 'Euro'),
(248, 'AX', 'ALA', 0, 'Islas Gland', 'Europa', NULL, NULL, NULL),
(250, 'FR', 'FRA', 33, 'Francia', 'Europa', NULL, 'EUR', 'Euro'),
(254, 'GF', 'GUF', 0, 'Guayana Francesa', 'Amrica', 'Amrica del Sur', NULL, NULL),
(258, 'PF', 'PYF', 689, 'Polinesia Francesa', 'Oceana', NULL, NULL, NULL),
(260, 'TF', 'ATF', 0, 'Territorios Australes Franceses', NULL, NULL, NULL, NULL),
(262, 'DJ', 'DJI', 253, 'Yibuti', 'frica', NULL, 'DJF', 'Franco yibutiano'),
(266, 'GA', 'GAB', 241, 'Gabn', 'frica', NULL, NULL, NULL),
(268, 'GE', 'GEO', 995, 'Georgia', 'Europa', NULL, 'GEL', 'Lari georgiano'),
(270, 'GM', 'GMB', 220, 'Gambia', 'frica', NULL, 'GMD', 'Dalasi gambiano'),
(275, 'PS', 'PSE', 0, 'Palestina', 'Asia', NULL, NULL, NULL),
(276, 'DE', 'DEU', 49, 'Alemania', 'Europa', NULL, 'EUR', 'Euro'),
(288, 'GH', 'GHA', 233, 'Ghana', 'frica', NULL, 'GHC', 'Cedi ghans'),
(292, 'GI', 'GIB', 350, 'Gibraltar', 'Europa', NULL, 'GIP', 'Libra de Gibraltar'),
(296, 'KI', 'KIR', 686, 'Kiribati', 'Oceana', NULL, NULL, NULL),
(300, 'GR', 'GRC', 30, 'Grecia', 'Europa', NULL, 'EUR', 'Euro'),
(304, 'GL', 'GRL', 299, 'Groenlandia', 'Amrica', 'Amrica del Norte', NULL, NULL),
(308, 'GD', 'GRD', 1473, 'Granada', 'Amrica', 'El Caribe', NULL, NULL),
(312, 'GP', 'GLP', 0, 'Guadalupe', 'Amrica', 'El Caribe', NULL, NULL),
(316, 'GU', 'GUM', 1671, 'Guam', 'Oceana', NULL, NULL, NULL),
(320, 'GT', 'GTM', 502, 'Guatemala', 'Amrica', 'Amrica Central', 'GTQ', 'Quetzal
guatemalteco'),
(324, 'GN', 'GIN', 224, 'Guinea', 'frica', NULL, 'GNF', 'Franco guineano'),
(328, 'GY', 'GUY', 592, 'Guyana', 'Amrica', 'Amrica del Sur', 'GYD', 'Dlar guyans'),
(332, 'HT', 'HTI', 509, 'Hait', 'Amrica', 'El Caribe', 'HTG', 'Gourde haitiano'),
(334, 'HM', 'HMD', 0, 'Islas Heard y McDonald', 'Oceana', NULL, NULL, NULL),
(336, 'VA', 'VAT', 39, 'Ciudad del Vaticano', 'Europa', NULL, NULL, NULL),
(340, 'HN', 'HND', 504, 'Honduras', 'Amrica', 'Amrica Central', 'HNL', 'Lempira
hondureo'),
(344, 'HK', 'HKG', 852, 'Hong Kong', 'Asia', NULL, 'HKD', 'Dlar de Hong Kong'),
(348, 'HU', 'HUN', 36, 'Hungra', 'Europa', NULL, 'HUF', 'Forint hngaro'),
(352, 'IS', 'ISL', 354, 'Islandia', 'Europa', NULL, 'ISK', 'Krna islandesa'),
(356, 'IN', 'IND', 91, 'India', 'Asia', NULL, 'INR', 'Rupia india'),
(360, 'ID', 'IDN', 62, 'Indonesia', 'Asia', NULL, 'IDR', 'Rupiah indonesia'),
(364, 'IR', 'IRN', 98, 'Irn', 'Asia', NULL, 'IRR', 'Rial iran'),
(368, 'IQ', 'IRQ', 964, 'Iraq', 'Asia', NULL, 'IQD', 'Dinar iraqu'),
(372, 'IE', 'IRL', 353, 'Irlanda', 'Europa', NULL, 'EUR', 'Euro'),
(376, 'IL', 'ISR', 972, 'Israel', 'Asia', NULL, 'ILS', 'Nuevo shquel israel'),
(380, 'IT', 'ITA', 39, 'Italia', 'Europa', NULL, 'EUR', 'Euro'),
(384, 'CI', 'CIV', 225, 'Costa de Marfil', 'frica', NULL, NULL, NULL),
(388, 'JM', 'JAM', 1876, 'Jamaica', 'Amrica', 'El Caribe', 'JMD', 'Dlar jamaicano'),
(392, 'JP', 'JPN', 81, 'Japn', 'Asia', NULL, 'JPY', 'Yen japons'),
(398, 'KZ', 'KAZ', 7, 'Kazajstn', 'Asia', NULL, 'KZT', 'Tenge kazajo'),
(400, 'JO', 'JOR', 962, 'Jordania', 'Asia', NULL, 'JOD', 'Dinar jordano'),
(404, 'KE', 'KEN', 254, 'Kenia', 'frica', NULL, 'KES', 'Cheln keniata'),
(408, 'KP', 'PRK', 850, 'Corea del Norte', 'Asia', NULL, 'KPW', 'Won norcoreano'),
(410, 'KR', 'KOR', 82, 'Corea del Sur', 'Asia', NULL, 'KRW', 'Won surcoreano'),
(414, 'KW', 'KWT', 965, 'Kuwait', 'Asia', NULL, 'KWD', 'Dinar kuwait'),
(417, 'KG', 'KGZ', 996, 'Kirguistn', 'Asia', NULL, 'KGS', 'Som kirgus (de Kirguistn)'),
(418, 'LA', 'LAO', 856, 'Laos', 'Asia', NULL, 'LAK', 'Kip lao'),
(422, 'LB', 'LBN', 961, 'Lbano', 'Asia', NULL, 'LBP', 'Libra libanesa'),
(426, 'LS', 'LSO', 266, 'Lesotho', 'frica', NULL, 'LSL', 'Loti lesotense'),
(428, 'LV', 'LVA', 371, 'Letonia', 'Europa', NULL, 'LVL', 'Lat letn'),
(430, 'LR', 'LBR', 231, 'Liberia', 'frica', NULL, 'LRD', 'Dlar liberiano'),
(434, 'LY', 'LBY', 218, 'Libia', 'frica', NULL, 'LYD', 'Dinar libio'),
(438, 'LI', 'LIE', 423, 'Liechtenstein', 'Europa', NULL, NULL, NULL),
(440, 'LT', 'LTU', 370, 'Lituania', 'Europa', NULL, 'LTL', 'Litas lituano'),
(442, 'LU', 'LUX', 352, 'Luxemburgo', 'Europa', NULL, 'EUR', 'Euro'),
(446, 'MO', 'MAC', 853, 'Macao', 'Asia', NULL, 'MOP', 'Pataca de Macao'),
(450, 'MG', 'MDG', 261, 'Madagascar', 'frica', NULL, 'MGA', 'Ariary malgache'),
(454, 'MW', 'MWI', 265, 'Malaui', 'frica', NULL, 'MWK', 'Kwacha malauiano'),
(458, 'MY', 'MYS', 60, 'Malasia', 'Asia', NULL, 'MYR', 'Ringgit malayo'),
(462, 'MV', 'MDV', 960, 'Maldivas', 'Asia', NULL, 'MVR', 'Rufiyaa maldiva'),
(466, 'ML', 'MLI', 223, 'Mal', 'frica', NULL, NULL, NULL),
(470, 'MT', 'MLT', 356, 'Malta', 'Europa', NULL, 'MTL', 'Lira maltesa'),
(474, 'MQ', 'MTQ', 0, 'Martinica', 'Amrica', 'El Caribe', NULL, NULL),
(478, 'MR', 'MRT', 222, 'Mauritania', 'frica', NULL, 'MRO', 'Ouguiya mauritana'),
(480, 'MU', 'MUS', 230, 'Mauricio', 'frica', NULL, 'MUR', 'Rupia mauricia'),
(484, 'MX', 'MEX', 52, 'Mxico', 'Amrica', 'Amrica del Norte', 'MXN', 'Peso mexicano'),
(492, 'MC', 'MCO', 377, 'Mnaco', 'Europa', NULL, NULL, NULL),
(496, 'MN', 'MNG', 976, 'Mongolia', 'Asia', NULL, 'MNT', 'Tughrik mongol'),
(498, 'MD', 'MDA', 373, 'Moldavia', 'Europa', NULL, 'MDL', 'Leu moldavo'),
(499, 'ME', 'MNE', 382, 'Montenegro', 'Europa', NULL, NULL, NULL),
(500, 'MS', 'MSR', 1664, 'Montserrat', 'Amrica', 'El Caribe', NULL, NULL),
(504, 'MA', 'MAR', 212, 'Marruecos', 'frica', NULL, 'MAD', 'Dirham marroqu'),
(508, 'MZ', 'MOZ', 258, 'Mozambique', 'frica', NULL, 'MZM', 'Metical mozambiqueo'),
(512, 'OM', 'OMN', 968, 'Omn', 'Asia', NULL, 'OMR', 'Rial oman'),
(516, 'NA', 'NAM', 264, 'Namibia', 'frica', NULL, 'NAD', 'Dlar namibio'),
(520, 'NR', 'NRU', 674, 'Nauru', 'Oceana', NULL, NULL, NULL),
(524, 'NP', 'NPL', 977, 'Nepal', 'Asia', NULL, 'NPR', 'Rupia nepalesa'),
(528, 'NL', 'NLD', 31, 'Pases Bajos', 'Europa', NULL, 'EUR', 'Euro'),
(530, 'AN', 'ANT', 599, 'Antillas Holandesas', 'Amrica', 'El Caribe', 'ANG', 'Florn antillano
neerlands'),
(533, 'AW', 'ABW', 297, 'Aruba', 'Amrica', 'El Caribe', 'AWG', 'Florn arubeo'),
(540, 'NC', 'NCL', 687, 'Nueva Caledonia', 'Oceana', NULL, NULL, NULL),
(548, 'VU', 'VUT', 678, 'Vanuatu', 'Oceana', NULL, 'VUV', 'Vatu vanuatense'),
(554, 'NZ', 'NZL', 64, 'Nueva Zelanda', 'Oceana', NULL, 'NZD', 'Dlar neozelands'),
(558, 'NI', 'NIC', 505, 'Nicaragua', 'Amrica', 'Amrica Central', 'NIO', 'Crdoba
nicaragense'),
(562, 'NE', 'NER', 227, 'Nger', 'frica', NULL, NULL, NULL),
(566, 'NG', 'NGA', 234, 'Nigeria', 'frica', NULL, 'NGN', 'Naira nigeriana'),
(570, 'NU', 'NIU', 683, 'Niue', 'Oceana', NULL, NULL, NULL),
(574, 'NF', 'NFK', 0, 'Isla Norfolk', 'Oceana', NULL, NULL, NULL),
(578, 'NO', 'NOR', 47, 'Noruega', 'Europa', NULL, 'NOK', 'Corona noruega'),
(580, 'MP', 'MNP', 1670, 'Islas Marianas del Norte', 'Oceana', NULL, NULL, NULL),
(581, 'UM', 'UMI', 0, 'Islas Ultramarinas de Estados Unidos', NULL, NULL, NULL,
NULL),
(583, 'FM', 'FSM', 691, 'Micronesia', 'Oceana', NULL, NULL, NULL),
(584, 'MH', 'MHL', 692, 'Islas Marshall', 'Oceana', NULL, NULL, NULL),
(585, 'PW', 'PLW', 680, 'Palaos', 'Oceana', NULL, NULL, NULL),
(586, 'PK', 'PAK', 92, 'Pakistn', 'Asia', NULL, 'PKR', 'Rupia pakistan'),
(591, 'PA', 'PAN', 507, 'Panam', 'Amrica', 'Amrica Central', 'PAB', 'Balboa panamea'),
(598, 'PG', 'PNG', 675, 'Papa Nueva Guinea', 'Oceana', NULL, 'PGK', 'Kina de Papa
Nueva Guinea'),
(600, 'PY', 'PRY', 595, 'Paraguay', 'Amrica', 'Amrica del Sur', 'PYG', 'Guaran
paraguayo'),
(604, 'PE', 'PER', 51, 'Per', 'Amrica', 'Amrica del Sur', 'PEN', 'Nuevo sol peruano'),
(608, 'PH', 'PHL', 63, 'Filipinas', 'Asia', NULL, 'PHP', 'Peso filipino'),
(612, 'PN', 'PCN', 870, 'Islas Pitcairn', 'Oceana', NULL, NULL, NULL),
(616, 'PL', 'POL', 48, 'Polonia', 'Europa', NULL, 'PLN', 'zloty polaco'),
(620, 'PT', 'PRT', 351, 'Portugal', 'Europa', NULL, 'EUR', 'Euro'),
(624, 'GW', 'GNB', 245, 'Guinea-Bissau', 'frica', NULL, NULL, NULL),
(626, 'TL', 'TLS', 670, 'Timor Oriental', 'Asia', NULL, NULL, NULL),
(630, 'PR', 'PRI', 1, 'Puerto Rico', 'Amrica', 'El Caribe', NULL, NULL),
(634, 'QA', 'QAT', 974, 'Qatar', 'Asia', NULL, 'QAR', 'Rial qatar'),
(638, 'RE', 'REU', 262, 'Reunin', 'frica', NULL, NULL, NULL),
(642, 'RO', 'ROU', 40, 'Rumania', 'Europa', NULL, 'RON', 'Leu rumano'),
WHERE
AND
AND
ORDER
e.idEquipo = j.idEquipo
j.JJ >= 17 AND minutos >= (j.JJ * 90)
(j.JJ % 2 != 0)
BY j.minutos DESC, j.nombre;
Ahora solo tenemos que hacer una consulta para obtener la vista correspondiente.
SELECT * FROM caballoDeHierro;
Ejemplo. El cual modificar la vista caballo de hierro con los jugadores que no
recibieron amonestaciones.
Actualizacin de vistas
MINUS
Si una columna
mediante vistas
Para que la vista sea de solo lectura, usaremos la clusula WITH READ ONLY
(Oracle). Observe que esta opcin no soporta la clusula ORDER BY
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INSERT
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
INTO
entidad
entidad
entidad
entidad
entidad
entidad
entidad
entidad
entidad
entidad
entidad
values
values
values
values
values
values
values
values
values
values
values
3388768);
Poblacin
Tamaulipas
3,268,554
Baja California
3,155,070
Sinaloa
2,767,761
Coahuila de Zaragoza
2,748,391
Hidalgo
2,665,018
Sonora
2,662,480
2,585,518
Tabasco
2,238,603
Yucatn
1,955,577
Quertaro
1,827,937
Morelos
1,777,227
Durango
1,632,934
Zacatecas
1,490,668
Quintana Roo
1,325,578
Aguascalientes
1,213,445
Tlaxcala
1,169,936
Nayarit
1,084,979
Campeche
822,441
Colima
650,555
Entidad
Baja California Sur
Poblacin
637,026
Con la clusula CHECK OPTION cada vez que se trata de hacer una violacin de
la condicin dentro del WHERE obtendremos un error ORA-01402. Que error le
regresa MySQL
nombre_vista;