This commit is contained in:
sunwen
2023-11-13 16:00:11 +08:00

View File

@@ -1,59 +1,94 @@
## USCI GUI DataBase Readme
### start mariadb on OpenSuse 15.3
```shell
# 设置数据库服务自启动并,启用数据库
sudo systemctl enable mariadb
sudo systemctl start mariadb
# 使用root账户登录数据库
sudo mysql -u root
```
然后执行一下sql代码创建数据库USCT
```Sql
-- 创建用户
CREATE USER 'rc'@'localhost' IDENTIFIED BY 'password';
-- 修改密码
SET PASSWORD FOR 'rc'@'localhost' = PASSWORD('123$%^');
-- 查看所有user看是否创建成功
select user,host from mysql.user;
-- 创建数据库USCT
create database USCT;
```
然后执行以下Table DDL相关的sql创建表格并插入数据.
### Table DDL
```Sql
CREATE TABLE `Role` (
`RoleID` varchar(200) CHARACTER SET utf8 NOT NULL,
`RoleName` varchar(200) CHARACTER SET utf8 NOT NULL,
`Permissions` varchar(500) CHARACTER SET utf8 DEFAULT NULL,
`Comment` varchar(500) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`RoleID`)
);
CREATE TABLE
`Account`(
`UserID` varchar(200) PRIMARY KEY NOT NULL,
`UserCode` varchar(200) NOT NULL,
`UserName` varchar(200) NOT NULL,
`Password` varchar(200) NOT NULL,
`RoleID` varchar(200) NOT NULL REFERENCES `Role`(`RoleID`),
`RoleID` varchar(200) NOT NULL,
`Comment` varchar(500)
);
);
CREATE TABLE
`Image`(
`ImageUID` NVARCHAR(200) PRIMARY KEY NOT NULL,
`SopInstanceUID` NVARCHAR(200),
`InstanceNumber` INT,
`ImageFullPath` NVARCHAR(500),
`SeriesUID` NVARCHAR(200) NOT NULL REFERENCES `Series`(`SeriesUID`)
);
CREATE TABLE `Patient` (
`PatientUID` varchar(255) CHARACTER SET utf8 NOT NULL,
`PatientID` varchar(255) CHARACTER SET utf8 NOT NULL,
`AccessionNumber` varchar(255) DEFAULT NULL,
`PatientName` varchar(255) CHARACTER SET utf8 NOT NULL,
`Birthdate` date NOT NULL,
`Sex` varchar(255) NOT NULL,
`AddDate` date DEFAULT NULL,
`COMMENT` text DEFAULT NULL,
PRIMARY KEY (`PatientUID`)
);
CREATE TABLE
`Patient` (
`PatientUID` NVARCHAR(200) primary key not null,
`PatientID` NVARCHAR(200) not null,
`PatientName` NVARCHAR(200) not null,
`Birthdate` DATE not null,
`Sex` NVARCHAR(200) not null,
`Comment` TEXT,
`Flag` int default 0 not null
);
CREATE TABLE `EScan` (
`ScanID` varchar(255) NOT NULL COMMENT 'ScanID same as measurementID, Primary Key',
`ScanDateTime` datetime DEFAULT NULL,
`State` int(11) DEFAULT 0 COMMENT '0 using, -1 expired',
`UpdateTime` datetime DEFAULT NULL COMMENT 'Update Time',
PRIMARY KEY (`ScanID`)
) ;
CREATE TABLE
`Role`(
`RoleID` NVARCHAR(200) PRIMARY KEY NOT NULL,
`RoleName` NVARCHAR(200) NOT NULL,
`Permissions` NVARCHAR(500),
`Comment` NVARCHAR(500)
);
CREATE TABLE
Scan(
ScanID VARCHAR(255) NOT NULL PRIMARY KEY COMMENT 'ScanID same as measurementID, Primary Key',
ReferenceID VARCHAR(255) NOT NULL,
PatientID VARCHAR(255) NOT NULL,
AddTime DATETIME COMMENT 'Add Time',
State int DEFAULT 0 COMMENT '0 added, 1 transfered, 2 Reconed, 3 DICOM transfered',
UpdateTime DATETIME COMMENT 'Update Time'
) COMMENT '';
CREATE TABLE
EScan(
ScanID VARCHAR(255) NOT NULL PRIMARY KEY COMMENT 'ScanID same as measurementID, Primary Key',
AddTime DATETIME COMMENT 'Add Time',
State int DEFAULT 0 COMMENT '0 using, -1 expired',
UpdateTime DATETIME COMMENT 'Update Time'
) COMMENT '';
```
CREATE TABLE `Scan` (
`ScanID` varchar(255) NOT NULL COMMENT 'ScanID same as measurementID, Primary Key',
`ReferenceID` varchar(255) NOT NULL,
`PatientID` varchar(255) NOT NULL,
`AccessionNumber` varchar(255) DEFAULT NULL,
`ScanDateTime` datetime DEFAULT NULL,
`UpdateTime` datetime DEFAULT NULL,
`PatientName` varchar(255) DEFAULT NULL,
`Laterality` varchar(64) DEFAULT NULL,
`OperatorName` varchar(255) DEFAULT NULL,
`State` int(11) DEFAULT 0,
PRIMARY KEY (`ScanID`)
);
Insert INTO `Role`(RoleID,RoleName,Permissions,Comment) VALUES('0001','admin','NULL','NULL'),('0002','doctor','NULL','NULL');
INSERT INTO `Account`(UserID,UserCode,UserName,Password,RoleID,Comment) VALUES('usct','usct','USCT','e10adc3949ba59abbe56e057f20f883e','0001','NULL');
```
## 授权USCT访问权给rc用户
```Sql
-- 授权
grant all on USCT.* to 'rc'@'localhost';
-- 退出
exit;
```