From iamargelh, 1 Year ago, written in SQL.
This paste will cross the great divide in 1 Second.
Embed
  1. --CREATE TABLES
  2. CREATE DATABASE RAPIDA
  3.  
  4. USE RAPIDA
  5.  
  6. CREATE TABLE AEROLINEA(
  7.         CVE_AERO VARCHAR(1) PRIMARY KEY,
  8.         NOMBRE VARCHAR(20)
  9. )
  10. CREATE TABLE VUELOS(
  11.         CVE_VUELO VARCHAR(3) PRIMARY KEY,
  12.         CVE_AERO VARCHAR(1) FOREIGN KEY REFERENCES AEROLINEA(CVE_AERO),
  13.         HORARIO VARCHAR(5),
  14.         CAPACIDAD INT,
  15.         NO_CLIENTES INT
  16. )
  17. CREATE TABLE CLIENTES(
  18.         CVE_CLIEN VARCHAR(3) PRIMARY KEY,
  19.         NOMBRE VARCHAR(20),
  20.         TELEFONO VARCHAR(10)
  21. )
  22. CREATE TABLE RESERVACIONES(
  23.         CVE_VUELO VARCHAR(3) FOREIGN KEY REFERENCES VUELOS(CVE_VUELO),
  24.         CVE_CLIEN VARCHAR(3) FOREIGN KEY REFERENCES CLIENTES(CVE_CLIEN)
  25. )
  26.  
  27.  
  28. --UNIDAD 3
  29. --Crear logins
  30. CREATE LOGIN USUARIO1
  31. WITH PASSWORD = '123', DEFAULT_DATABASE=RAPIDA;
  32. CREATE LOGIN USUARIO2
  33. WITH PASSWORD = '123', DEFAULT_DATABASE=RAPIDA;
  34.  
  35. --Crear usuarios
  36. --Nombre de usuario y el nombre del login pueden diferir
  37. CREATE USER USUARIO1 FOR LOGIN USUARIO1;
  38. CREATE USER USUARIO2 FOR LOGIN USUARIO2;
  39.  
  40. --Crear rol
  41. CREATE ROLE Programador
  42. GRANT SELECT ON CLIENTES TO Programador
  43. GRANT UPDATE ON AEROLINEA TO Programador
  44.  
  45. --Asignar rol a usuario
  46. sp_addrolemember Programador, USUARIO1
  47.  
  48. --Asignar privilegios a usuarios
  49. GRANT SELECT ON AEROLINEA TO USUARIO2
  50. GRANT UPDATE ON CLIENTES TO USUARIO2
  51. GRANT INSERT ON VUELOS TO USUARIO2