使用SQL SERVER 2008创建以下表并添加一个普通数据和两个极限数据进行测试: 顾客表要求注明会员的姓名、性别、手机号信息,并分明顾客类型,如果是会员顾客,要求会员卡号非空且唯一,如果是普通顾客,允许会员卡号为空。 商品表要求注明品类、品名、普通价格、是否特惠、特惠价格。 活动表要求注明类型、活动内容、活动开始时间及结束时间、活动折扣,同时要求设置每周二为会员日,仅会员顾客享有除特价商品外全场九五折的折扣,活动内容为“每满100-20”的活动可与其他任何优惠同享。 并创建订单表、订单明细表,要求根据以上需求设置属性。
时间: 2023-04-09 14:02:22 浏览: 153
好的,这是一个关于 SQL SERVER 2008 的问题,我可以回答。根据您的需求,可以创建以下表:
顾客表:包括姓名、性别、手机号、顾客类型、会员卡号等属性。
商品表:包括品类、品名、普通价格、是否特惠、特惠价格等属性。
活动表:包括类型、活动内容、活动开始时间、活动结束时间、活动折扣等属性。
订单表:包括订单号、顾客信息、订单总价、订单状态等属性。
订单明细表:包括订单号、商品信息、商品数量、商品单价、小计等属性。
您可以根据这些表的属性,添加一个普通数据和两个极限数据进行测试。希望这个回答能够帮到您。
相关问题
使用SQL SERVER 2008用SQL语言创建以下表并添加一个普通数据和两个极限数据进行测试: 顾客表要求注明会员的姓名、性别、手机号信息,并分明顾客类型,如果是会员顾客,要求会员卡号非空且唯一,如果是普通顾客,允许会员卡号为空。 商品表要求注明品类、品名、普通价格、是否特惠、特惠价格。 活动表要求注明类型、活动内容、活动开始时间及结束时间、活动折扣,同时要求设置每周二为会员日,仅会员顾客享有除特价商品外全场九五折的折扣,活动内容为“每满100-20”的活动可与其他任何优惠同享。 并创建订单表、订单明细表,要求根据以上需求设置属性。
可以使用以下 SQL 语句创建顾客表:
CREATE TABLE customer (
id INT PRIMARY KEY IDENTITY(1,1),
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
phone VARCHAR(20) NOT NULL,
customer_type VARCHAR(20) NOT NULL,
member_card_no VARCHAR(50) UNIQUE
);
可以使用以下 SQL 语句创建商品表:
CREATE TABLE product (
id INT PRIMARY KEY IDENTITY(1,1),
category VARCHAR(50) NOT NULL,
name VARCHAR(50) NOT NULL,
price DECIMAL(10,2) NOT NULL,
is_discounted BIT NOT NULL,
discounted_price DECIMAL(10,2)
);
可以使用以下 SQL 语句创建活动表:
CREATE TABLE promotion (
id INT PRIMARY KEY IDENTITY(1,1),
type VARCHAR(50) NOT NULL,
content VARCHAR(200) NOT NULL,
start_time DATETIME NOT NULL,
end_time DATETIME NOT NULL,
discount DECIMAL(10,2) NOT NULL
);
可以使用以下 SQL 语句创建订单表:
CREATE TABLE orders (
id INT PRIMARY KEY IDENTITY(1,1),
customer_id INT NOT NULL,
order_time DATETIME NOT NULL,
total_amount DECIMAL(10,2) NOT NULL,
discount_amount DECIMAL(10,2) NOT NULL,
actual_amount DECIMAL(10,2) NOT NULL,
FOREIGN KEY (customer_id) REFERENCES customer(id)
);
可以使用以下 SQL 语句创建订单明细表:
CREATE TABLE order_detail (
id INT PRIMARY KEY IDENTITY(1,1),
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL,
price DECIMAL(10,2) NOT NULL,
discount DECIMAL(10,2) NOT NULL,
actual_price DECIMAL(10,2) NOT NULL,
FOREIGN KEY (order_id) REFERENCES orders(id),
FOREIGN KEY (product_id) REFERENCES product(id)
);
添加数据的 SQL 语句如下:
-- 添加顾客数据
INSERT INTO customer (name, gender, phone, customer_type, member_card_no)
VALUES ('张三', '男', '13812345678', '会员', '1234567890');
INSERT INTO customer (name, gender, phone, customer_type)
VALUES ('李四', '女', '13987654321', '普通');
-- 添加商品数据
INSERT INTO product (category, name, price, is_discounted, discounted_price)
VALUES ('食品', '牛奶', 5.00, 1, 4.50);
INSERT INTO product (category, name, price, is_discounted, discounted_price)
VALUES ('饮料', '可乐', 3.00, 0, NULL);
-- 添加活动数据
INSERT INTO promotion (type, content, start_time, end_time, discount)
VALUES ('满减', '每满100-20', '2021-01-01 00:00:00', '2021-12-31 23:59:59', 0.00);
-- 添加订单数据
INSERT INTO orders (customer_id, order_time, total_amount, discount_amount, actual_amount)
VALUES (1, '2021-01-01 10:00:00', 10.00, 0.00, 10.00);
-- 添加订单明细数据
INSERT INTO order_detail (order_id, product_id, quantity, price, discount, actual_price)
VALUES (1, 1, 2, 5.00, 0.00, 10.00);
INSERT INTO order_detail (order_id, product_id, quantity, price, discount, actual_price)
VALUES (1, 2, 1, 3.00, 0.00, 3.00);
使用SQL server 2008+创建一个表并添加两个极限数据进行测试,要求注明会员的姓名、性别、手机号信息,并分明顾客类型,如果是会员顾客,要求会员卡号非空且唯一,如果是普通顾客,允许会员卡号为空。
好的,这是一个关于 SQL Server 2008 的问题。您可以使用以下代码创建一个表并添加两个极限数据进行测试:
CREATE TABLE customer (
id INT PRIMARY KEY IDENTITY(1,1),
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
phone VARCHAR(20) NOT NULL,
customer_type VARCHAR(20) NOT NULL,
member_id VARCHAR(20) UNIQUE NULL
);
INSERT INTO customer (name, gender, phone, customer_type, member_id)
VALUES ('John', 'Male', '1234567890', 'Member', '123456'),
('Jane', 'Female', '0987654321', 'Normal', NULL);
这将创建一个名为 "customer" 的表,其中包含会员的姓名、性别、手机号信息和顾客类型。如果是会员顾客,会员卡号非空且唯一,如果是普通顾客,会员卡号允许为空。第一个数据是一个会员,第二个数据是一个普通顾客。
希望这可以帮助您。
阅读全文