⑴ 有哪些权威的查看旅游统计数据的网站
国家旅游局官网或各地旅游政务官网。
若仅要查旅游大指标,省市统计局官网上的年度统计公报也有。
⑵ 旅游信息管理系统 数据库
前阶段做的ATM机的,楼主要不修改下吧,呵呵!
有两个小步骤没做完,楼主自己看一下!
use master
if exists(select * from sysdatabases where name='bankDB')
drop database bankDB
GO
---建库bankDB
create database bankDB
on
(
name='bankDB',
filename='D:\bank\bankDB.mdf',
filegrowth=15%
)
use bankDB
GO
---创建用户信息表(userInfo)
create table userInfo
(
customerID INT IDENTITY(1,1),
customerName VARCHAR(10) NOT NULL,
PID NUMERIC(18,0) NOT NULL,
telephone VARCHAR(15) NOT NULL,
address VARCHAR(30)
)
GO
---创建信息表的约束
ALTER TABLE userInfo ADD
CONSTRAINT PK_custonerID PRIMARY KEY(customerID),
CONSTRAINT CK_PID CHECK(len(PID)=18 or len(PID)=15),
CONSTRAINT UQ_PID UNIQUE(PID),
CONSTRAINT CK_telephone CHECK(telephone LIKE '[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' OR telephone LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' OR telephone LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
---创建银行卡信息表(cardInfo)
CREATE TABLE cardInfo
(
cardID VARCHAR(20) NOT NULL,
curType VARCHAR(6) NOT NULL,
savingType VARCHAR(8),
openDate DATETIME NOT NULL,
openMoney MONEY NOT NULL,
balance MONEY NOT NULL,
pass VARCHAR(6) NOT NULL,
isReportLoss BIT NOT NULL,
customerID INT NOT NULL
)
GO
---创建银行卡信息表的约束
ALTER TABLE cardInfo ADD
CONSTRAINT PK_cardID PRIMARY KEY(cardID),
CONSTRAINT CK_cardID CHECK (cardID like '1010 3576 [0-9][0-9][0-9][0-9] [0-9][0-9][0-9][0-9]'),
CONSTRAINT DF_curType DEFAULT 'RMB' FOR curType,
CONSTRAINT CK_savingType CHECK(savingType IN ('活期' , '定活两便' , '定期')),
CONSTRAINT DF_openDate DEFAULT GETDATE() FOR openDate,
CONSTRAINT CK_openMoney CHECK (openMoney>=1),
CONSTRAINT CK_balance CHECK (balance>=1),
CONSTRAINT CK_pass CHECK (LEN(pass)=6),
CONSTRAINT DF_pass DEFAULT '888888' FOR pass,
CONSTRAINT DF_isReportLoss DEFAULT '0' FOR isReportLoss,
CONSTRAINT FK_customerID FOREIGN KEY (customerID) REFERENCES userInfo(customerID)
GO
---创建交易信息表(transInfo)
CREATE TABLE transInfo
(
transDate DATETIME NOT NULL,
cardID VARCHAR(20) NOT NULL,
transType VARCHAR(4) NOT NULL,
transMoney MONEY NOT NULL,
remark NTEXT
)
GO
---创建交易信息表的约束
ALTER TABLE transInfo ADD
CONSTRAINT DF_transDate DEFAULT GETDATE() FOR transDate ,
CONSTRAINT FK_cardID FOREIGN KEY (cardID) REFERENCES cardInfo(cardID),
CONSTRAINT CK_transType CHECK (transType='存入' or transType='支取'),
CONSTRAINT CK_transMoney CHECK (transMoney >0)
----测试插入数据
insert into userInfo values('张三','123456789012340','010-67898978','北京海淀')
insert into userInfo values('李四','320504198607221250','0512-65331652','江苏苏州')
insert into userInfo values('王五','320504198607223333','0512-65323442','江苏南京')
insert into userInfo values('赵六','320504198607131313','0512-65331643','江苏苏州')
insert into userInfo values('方六','320504194407131543','0512-65331243','江苏盐城')
insert into cardInfo values('1010 3576 1212 1134','RMB','活期','2006-10-01',1.0000,1.0000,'888888','','1')
insert into cardInfo values('1010 3576 1212 5555','RMB','活期','2006-10-01',1000.0000,1000.0000,'888888','','2')
insert into cardInfo values('1010 3576 2323 3343','RMB','活期','2006-12-01',15345.0000,1000.0000,'888888','','3')
insert into cardInfo values('1010 3576 1456 3454','RMB','活期','2006-11-28',2343.0000,1000.0000,'888888','','4')
insert into cardInfo values('1010 3576 1356 3554','RMB','活期','2006-12-05',22143.0000,10020.0000,'888888','','8')
----插入违背约束语句
insert into userInfo values('沈非','123456789','0512-67998978','江苏苏州') ---违背身份证长度的CHECK约束
insert into userInfo values('沈大','320504198607131313','0512-67998979','江苏苏州') ---违背身份证的唯一约束
insert into cardInfo values('1010 3576 1456 3424','RMB','活期','2006-11-28',0.0000,0,'888888','','5') ---违背开户金额不能<1的CHECK约束
insert into transInfo values('','1010 3576 1456 3424','支取',1000,'') ---违背主外键约束,交易卡号必须存在于cardInfo中
---查看所有表
select * from userInfo
select * from cardInfo
select * from transInfo
---创建存储过程:根据卡号修改密码
CREATE PROC proc_changePass @incardID VARCHAR(20),@inoldPass VARCHAR(6),@newPass1 VARCHAR(6),@newpass2 VARCHAR(6)
AS
DECLARE @oldPass VARCHAR(6)
IF EXISTS(SELECT * FROM cardInfo WHERE cardID=@incardID)
BEGIN
SELECT @oldPass=pass FROM cardInfo WHERE cardID=@incardID
IF(@oldpass=@inoldPass)
BEGIN
IF(@newpass1=@newpass2)
BEGIN
UPDATE cardInfo SET pass=@newPass1 WHERE cardID=@incardID
PRINT '密码修改成功!'
END
ELSE
PRINT '请确认您的新密码!'
END
ELSE
PRINT '您输入的原密码错误,请重新输入!'
END
ELSE
PRINT '您输入的卡号不存在,请重新输入!'
---测试修改密码的存储过程
EXEC proc_changePass '1010 3576 1212 1134','888888','123456','123456'
---创建挂失银行卡的存储过程
CREATE PROC proc_lossCard @inCustomerName VARCHAR(10),@inPID NUMERIC(18,0),@inTelephone VARCHAR(15),@inAddress VARCHAR(30),@inCardPass VARCHAR(6)
AS
DECLARE @customerName VARCHAR(10),@PID NUMERIC(18,0),@telephone VARCHAR(15),@address VARCHAR(30),@cardPass VARCHAR(6)
SELECT @customerName=customerName,@PID=PID,@telephone=telephone,@address=address FROM userInfo WHERE PID=@inPID
SELECT @cardPass=pass FROM cardInfo WHERE customerID=(SELECT customerID FROM userInfo WHERE PID=@inPID)
IF((@customerName=@inCustomerName)AND(@PID=@inPID)AND(@inTelephone=@telephone)AND(@inAddress=@address)AND(@inCardPass=@cardPass))
BEGIN
UPDATE cardInfo SET isReportLoss=1 WHERE customerID=(SELECT customerID FROM userInfo WHERE PID=@inPID)
END
ELSE
PRINT '您的信息有误,请核对后重新输入!'
----测试挂失的存储过程
EXEC proc_lossCard '王五','320504198607223333','0512-65323442','江苏南京','888888'
---统计银行流通金额
DECLARE @inMoney MONEY,@outMoney MONEY
SELECT @inMoney=sum(transMoney) from transInfo where transType='存入'
SELECT @outMoney=sum(transMoney) from transInfo where transType='支取'
PRINT '银行流通总额为:'+ convert(varchar(20),@inMoney-@outMoney)+' RMB'
PRINT '盈利结算为:'+convert(varchar(20),@outMoney*0.008-@inMoney*0.003)+' RMB'
GO
---查询月交易冠军的银行卡信息
SELECT * FROM transInfo WHERE
print CONVERT(VARCHAR(20),@money)
SELECT * FROM cardInfo WHERE
---查询半年未交易的卡信息
SELECT * FROM cardInfo WHERE cardID NOT IN (SELECT cardID FROM transInfo WHERE DATEDIFF(mm,transDate,getdate())>7)//////////
---查询本周开户的帐号
SELECT * FROM cardInfo where DATEDIFF(WEEK,openDate,getdate())<1
---查询挂失帐号的客户信息
SELECT * FROM userInfo where customerID IN(SELECT customerID FROM cardInfo where isReportLoss=1)
---催款提醒业务
SELECT customerName AS 客户姓名,telephone AS 联系电话,balance AS 余额 FROM
userInfo INNER join cardInfo ON userInfo.customerID=cardInfo.customerID WHERE balance<200 AND datepart(day,getdate())>=28
---给transInfo表的cardID字段添加非聚集索引
CREATE NONCLUSTERED INDEX IX_transInfo_cardID ON transInfo(cardID) WITH FILLFACTOR=70
---测试索引
SELECT * FROM transInfo (INDEX=IX_transInfo_cardID) WHERE cardID='1010 3576 1212 1134'
---创建视图
CREATE VIEW view_userInfo
AS
SELECT customerID AS 客户编号,customerName AS 客户姓名,PID AS 身份证号,telephone AS 电话号码,address AS 联系地址 FROM userInfo
CREATE VIEW view_cardInfo
AS
SELECT cardId AS 卡号,curType AS 货币种类,savingType AS 存款类型,openDate AS 开户日期,openMoney AS 开户金额,balance AS 帐户余额,pass AS 密码,isReportLoss AS 是否挂失,customerID AS 顾客编号 FROM cardInfo
CREATE VIEW view_transInfo
AS
SELECT transDate AS 交易日期,cardID AS 卡号,transType AS 交易类型,transMoney AS 交易金额,remark AS 备注 FROM transInfo
---查看视图
SELECT * FROM view_userInfo
SELECT * FROM view_cardInfo
SELECT * FROM view_transInfo
---创建触发器
CREATE TRIGGER trig_trans
ON transInfo
FOR INSERT
DECLARE @transType VARCHAR(4)
---创建触发器trig_trans
drop trigger trig_trans
CREATE TRIGGER trig_trans ON transInfo
FOR INSERT
AS
DECLARE @transType VARCHAR(4),@transMoney MONEY,@cardID VARCHAR(20),@balance MONEY,@customerName VARCHAR(10)
SELECT @transType=transType,@transMoney=transMoney,@cardID=cardID FROM inserted
SELECT @balance=balance FROM cardInfo WHERE cardID=@cardID
SELECT @customerName=customerName FROM userInfo WHERE customerID=(SELECT customerID FROM cardInfo WHERE cardID=@cardID)
BEGIN TRAN
IF (@transType='支取')
BEGIN
IF (@balance-@transMoney<1) ---如果取款后余额不足1元
BEGIN
PRINT '正在交易,请稍等....'
ROLLBACK TRAN ---取消交易,回滚
PRINT '余额不足,交易失败!'
END
ELSE
BEGIN
PRINT '正在交易,请稍等...'
COMMIT TRAN ---交易成功
UPDATE cardInfo SET balance=@balance-@transMoney WHERE cardID=@cardID
PRINT '交易成功,'+CONVERT(VARCHAR(10),@customerName)+' 您进行的是取款操作,当前的余额为:'+CONVERT(VARCHAR(20),@balance-@transMoney)+' RMB'
END
END
ELSE
BEGIN
PRINT '正在交易,请稍等...'
COMMIT TRAN
UPDATE cardInfo SET balance=@balance+@transMoney WHERE cardID=@cardID
PRINT '交易成功,'+CONVERT(VARCHAR(10),@customerName)+' 您进行的是存款操作,当前的余额为:'+CONVERT(VARCHAR(20),@balance+@transMoney)+' RMB'
END
INSERT INTO transInfo VALUES('','1010 3576 1212 5555','支取',999,'aa')
----创建存入与支取的存储过程
drop proc proc_transInfo
CREATE PROC proc_transInfo @customerName VARCHAR(10),@transMoney MONEY,@transType VARCHAR(4),@pass VARCHAR(6)=''
AS
DECLARE @pwd VARCHAR(6)
DECLARE @cardID VARCHAR(20)
SELECT @pwd=pass ,@cardID=cardID FROM cardInfo WHERE customerID=(SELECT customerID FROM userInfo WHERE customerName=@customerName)---由userInfo姓名字段查询得用户的卡号和密码
PRINT '您的卡号为: '+CONVERT(VARCHAR(20),@cardID) ---将用户的卡号输出
IF(@transType='存入')
BEGIN
PRINT '正在交易,请稍等...'
INSERT INTO transInfo VALUES('',@cardID,@transType,@transMoney,'')
PRINT '交易成功,您成功从卡上存入了'+CONVERT(VARCHAR(20),@transMoney)
END
ELSE
BEGIN
IF(@pwd=@pass)
BEGIN
PRINT '正在交易,请稍等...'
INSERT INTO transInfo VALUES('',@cardID,@transType,@transMoney,'')
PRINT '支取成功,您成功从卡上支取了'+CONVERT(VARCHAR(20),@transMoney)
END
ELSE
BEGIN
PRINT '密码错误,请重新输入!'
END
END
GO
EXEC proc_transInfo '王五',100,'支取','888888' ----模拟存入与支取
----创建产生随机卡号的存储过程
CREATE PROC proc_RANDcardID @mycardID VARCHAR(20) OUTPUT
AS
DECLARE @rand NUMERIC(15,8)
DECLARE @randcardID VARCHAR(10)
SELECT @rand=RAND(CONVERT(INT,DATEPART(mm,GETDATE()) * 100000)+
CONVERT(INT,DATEPART(ss,GETDATE()) * 1000)+
CONVERT(INT,DATEPART(ms,GETDATE())))
SET @randcardID=SUBSTRING(CONVERT(VARCHAR(10),@rand),3,4)+' '+SUBSTRING(CONVERT(VARCHAR(10),@rand),7,4)
SET @mycardID='1010 3576'+' '+@randcardID
GO
----调用随机卡号生成存储过程,产生随机卡号
DECLARE @mycardID VARCHAR(20)
EXEC proc_RANDcardID @mycardID OUTPUT
PRINT '产生的随机卡号为:'+@mycardID
----创建开户的存储过程
drop proc proc_openAccount
CREATE PROC proc_openAccount @customerName VARCHAR(10),@PID NUMERIC(18,0),@telephone VARCHAR(15),@openMoney MONEY,@savingType VARCHAR(8),@address VARCHAR(30)
AS
WHILE(1=1)
BEGIN
DECLARE @mycardID VARCHAR(20)
EXEC proc_RANDcardID @mycardID OUTPUT
IF NOT EXISTS(SELECT cardID FROM cardInfo WHERE cardID=@mycardID)
BEGIN
INSERT INTO userInfo VALUES(@customerName,@PID,@telephone,@address)
DECLARE @customerID INT
SELECT @customerID=customerID FROM userInfo WHERE PID=@PID
INSERT INTO cardInfo(cardID,savingType,openMoney,balance,customerID) VALUES(@mycardID,@savingType,@openMoney,@openMoney,@customerID)
PRINT '开始开户,请稍等....'
PRINT '开户成功!您的卡号为:'+@mycardID
PRINT '开户日期:'+CONVERT(VARCHAR(20),GETDATE())
PRINT '开户金额为:'+CONVERT(VARCHAR(20),@openMoney)
BREAK
END
END
GO
---模拟开户,调用存储过程proc_openAccount
EXEC proc_openAccount '沈非','320504198607221447','13914048959',3999,'活期','苏州职业大学'
---创建帐户间转帐的存储过程
drop proc proc_trans
CREATE PROC proc_trans @outcardID VARCHAR(20),@incardID VARCHAR(20),@transMoney MONEY
AS
DECLARE @outbalance MONEY,@inbalance MONEY,@isReportLoss1 BIT,@isReportLoss2 BIT
SELECT @outbalance=balance FROM cardInfo WHERE cardID=@outcardID
SELECT @inbalance=balance FROM cardInfo WHERE cardID=@incardID
SELECT @isReportLoss1=isReportLoss FROM cardInfo WHERE cardID=@outcardID
SELECT @isReportLoss2=isReportLoss FROM cardInfo WHERE cardID=@incardID
IF(@isReportLoss1 =0 AND @isReportLoss2=0)
BEGIN
IF(@outbalance-@transMoney<1)
BEGIN
PRINT '正在交易中,请稍等....'
PRINT '交易失败,余额不足,无法转帐!'
PRINT '您的余额为:'+CONVERT(VARCHAR(20),@outbalance)+' RMB'
END
ELSE
BEGIN
PRINT '正在交易中,请稍等....'
INSERT INTO transInfo(cardID,transType,transMoney) VALUES(@outcardID,'支取',@transMoney)
INSERT INTO transInfo(cardID,transType,transMoney) VALUES(@incardID,'存入',@transMoney)
UPDATE cardInfo SET balance=@outbalance-@transMoney WHERE cardID=@outcardID
UPDATE cardInfo SET balance=@inbalance+@transMoney WHERE cardID=@incardID
PRINT '转帐成功!'
PRINT
END
END
ELSE
PRINT '有一方卡已经挂失,请主动投案自首!交易失败'
----模拟转帐
EXEC proc_trans '1010 3576 1356 3554','1010 3576 1212 1134',1000
---添加登陆帐户
EXEC SP_ADDLOGIN 'philip','65331652'
---创建数据库用户
EXEC SP_GRANTDBACCESS 'philip'
---赋予三张表的增删改查权限
GRANT SELECT,INSERT,DELETE,UPDATE ON userInfo TO philip
GRANT SELECT,INSERT,DELETE,UPDATE ON cardInfo TO philip
GRANT SELECT,INSERT,DELETE,UPDATE ON transInfo TO philip
---赋予存储过程的执行权限
GRANT EXEC ON proc_changePass TO philip
GRANT EXEC ON proc_lossCard TO philip
GRANT EXEC ON proc_transInfo TO philip
GRANT EXEC ON proc_RANDcardID TO philip
GRANT EXEC ON proc_openAccount TO philip
GRANT EXEC ON proc_trans TO philip
⑶ 旅游管理系统
楼上来的错误很多,很不完整。自
我不会给你编写,但我知道做你这事用Delphi最合适,而不是C,要用C的话,复杂度和工期可能要增加几十倍,界面还用着不舒服——我只是指出你的要求对你的需要而言并不合理,你得自己去做。
这些作业最好还是自己完成对自己比较有利。
⑷ 一个旅游大数据平台需要具备哪些基本功能
旅游大数据包含很多,票务数据、闸机、wifi探针、还有现在最先进的手机app位置数版据、消费数据、互权联网评价数据等,现在很多大场景利用外部数据进行游客的价值挖掘,国内主要基于外部数据做旅游大数据的可以了解一下海鳗云。
⑸ 什么是旅游大数据平台
旅游行业有行业广、 规模大、 移动性强的特点, 因此更加依赖大数据。 当前, 旅游业也在 “新常专态” 下迎属来了升级的挑战和变革的机遇, 新常态对于一般的经 济部门是经济速度放慢、人均 GDP 增速减小,很多传统行业在调整结构,但新 常态对旅游行业却是速度加快的。 旅游大数据的解决之道, 在于整合国内多途径 的大数据源, 形成旅游大数据生态, 为国内旅游业提供大数据解决方案, 促进旅 游业的转型升级。
⑹ 旅游管理系统排名前10的有哪些
境外的地接管理系统,简悦地接管理系统不错,界面友好,操作方便,结合目前专的常用的包机,分属车,分导游这些模式,APP导游报帐这些也方便,各种导出也容易,可以去试试。
8大模块全覆盖,管理效率翻5倍
计调管理:
一键导入游客名单,安排行程,生成应收款
组团社间财务审核、对帐,班期利润实时统计
导游管理:
导游在团状态,未派导游统计,导游安排无遗漏
单团分析,导游带团历史数据,安排上团更智能
资源管理:
签证、景点、用餐等资源详细管理
导游APP一键报备,公司资源管理者统一处理
用车调度:
用车报备,用车管理,每日用车安排
用车安排实时通知导游APP
房控管理:
计调申请班期用房,房控确认,自动计算余房表
用房明细、帐单清晰明了,财务付款收款对帐方便
财务管理:
导游报帐、购物数据审核,应收应付对帐统计
出纳管理,财务下帐等功能,财务细节一目了然
数据统计:
完团数据、当日购物、单团利润、酒店利润统计等多维度统计
数据实时报表,公司的运营决策依据数据,掌控企业大数据
导游APP:
电子行程,资源报备,一健处理导游日常事务
自助报帐,自动计算提成,告别手工报帐填表审核
⑺ 旅游管理系统数据库
For a description of your ,
告诉抄我你的问题和联系方式,
可以与我们联系进一步需求,
有可能帮你,
网络_Hi联系我,
此回复针对所有来访者和需求者有效,
ES:\\