RBAC kernel

from the Artful MySQL Tips List



CREATE TABLE roles (

  roleID int(11) PRIMARY KEY AUTO_INCREMENT,

  name char(20) DEFAULT '',

  rolerank SMALLINT DEFAULT NULL

) ENGINE=InnoDB;



CREATE TABLE users (

  userID int(11) PRIMARY KEY AUTO_INCREMENT,

  username char(10) NOT NULL DEFAULT '',

  password char(10) NOT NULL DEFAULT '',

  user_username char(16) NOT NULL DEFAULT '',

  status SMALLINT NOT NULL DEFAULT '0',

  entered_by INT DEFAULT NULL

) ENGINE=InnoDB;



CREATE TABLE userroles (

  userroleID int(11) PRIMARY KEY AUTO_INCREMENT,

  roleID int(11) NOT NULL DEFAULT 0,

  userID int(11) NOT NULL DEFAULT 0,

  KEY ur_roleID (roleID),

  KEY ur_userID (userID),

  CONSTRAINT FOREIGN KEY (roleID) REFERENCES roles (roleID),

  CONSTRAINT FOREIGN KEY (userID) REFERENCES users (userID)

) ENGINE=InnoDB;



CREATE TABLE usecases (

  usecaseID int(11) PRIMARY KEY AUTO_INCREMENT,

  name char(50) NOT NULL DEFAULT '',

  description TEXT,

  roleID int(11) NOT NULL DEFAULT '0',

  KEY roleID (roleID),

  CONSTRAINT FOREIGN KEY (roleID) REFERENCES roles (roleID)

) ENGINE=InnoDB;




Return to the Artful MySQL Tips page