以下是创建数据库和创建数据表的Oracle代码:
创建数据库:
```
CREATE DATABASE myDatabase;
```
创建数据表:
```
CREATE TABLE CUSTOMER (
CustomerID INT PRIMARY KEY,
Name VARCHAR(50),
Address VARCHAR(100),
Phone VARCHAR(20),
Email VARCHAR(50),
LoyaltyProgramStatus VARCHAR(20)
);
CREATE TABLE ORDER (
OrderID INT PRIMARY KEY,
OrderDate DATE,
OrderStatus VARCHAR(20),
TotalCost DECIMAL(10, 2),
CustomerID INT FOREIGN KEY REFERENCES CUSTOMER(CustomerID)
);
CREATE TABLE ORDER_DETAILS (
OrderDetailID INT PRIMARY KEY,
ProductName VARCHAR(50),
Price DECIMAL(10, 2),
Quantity INT,
Subtotal DECIMAL(10, 2),
OrderID INT FOREIGN KEY REFERENCES ORDER(OrderID),
ProductID INT FOREIGN KEY REFERENCES PRODUCT(ProductID)
);
CREATE TABLE PRODUCT (
ProductID INT PRIMARY KEY,
ProductName VARCHAR(50),
Description VARCHAR(100),
Price DECIMAL(10, 2),
Category VARCHAR(50)
);
CREATE TABLE STORE (
StoreID INT PRIMARY KEY,
StoreName VARCHAR(50),
Location VARCHAR(100),
HoursOfOperation VARCHAR(50)
);
CREATE TABLE INVENTORY (
ProductID INT,
StoreID INT,
QuantityOnHand INT,
ReorderPoint INT,
PRIMARY KEY (ProductID, StoreID),
FOREIGN KEY (ProductID) REFERENCES PRODUCT(ProductID),
FOREIGN KEY (StoreID) REFERENCES STORE(StoreID)
);
CREATE TABLE TRANSACTION (
TransactionID INT PRIMARY KEY,
TransactionDate DATE,
TransactionType VARCHAR(20),
TotalAmount DECIMAL(10, 2),
CustomerID INT FOREIGN KEY REFERENCES CUSTOMER(CustomerID)
);
CREATE TABLE TRANSACTION_DETAILS (
TransactionDetailID INT PRIMARY KEY,
ProductName VARCHAR(50),
Price DECIMAL(10, 2),
Quantity INT,
Subtotal DECIMAL(10, 2),
TransactionID INT FOREIGN KEY REFERENCES TRANSACTION(TransactionID),
ProductID INT FOREIGN KEY REFERENCES PRODUCT(ProductID)
);
CREATE TABLE EMPLOYEE (
EmployeeID INT PRIMARY KEY,
Name VARCHAR(50),
Address VARCHAR(100),
Phone VARCHAR(20),
Email VARCHAR(50),
Position VARCHAR(50)
);
CREATE TABLE SALARY (
EmployeeID INT,
StartDate DATE,
EndDate DATE,
SalaryAmount DECIMAL(10, 2),
PRIMARY KEY (EmployeeID, StartDate),
FOREIGN KEY (EmployeeID) REFERENCES EMPLOYEE(EmployeeID)
);
CREATE TABLE SHIFT (
ShiftID INT PRIMARY KEY,
StartTime TIME,
EndTime TIME,
StoreID INT FOREIGN KEY REFERENCES STORE(StoreID),
EmployeeID INT FOREIGN KEY REFERENCES EMPLOYEE(EmployeeID)
);
```