我奋斗了18年,不是为了和你一起喝咖啡

我奋斗了18年,不是为了和你一起喝咖啡

导读:此为两篇文章。《我奋斗了18年才和你坐在一起喝咖啡》是多年前一名叫“麦子”的网友写的一篇引发亿万网友共鸣热议的现实题材深度文章,作者用自己十几年的经历揭示了寒门通过努力要改变命运是多么艰难的一件事,以及改变后那种矛盾对立的复杂心境。文章诞生后的第三年,清华大学某研究生根据这篇文章所阐明的意义与自己的经历写了《我奋斗了18年不是为了和你一起喝咖啡》一文,再次以深刻的现实论调引起社会各界的广泛热议,如今看来,这两篇文章所透露的意义在当下依然极具力量,现在将这两篇文章整理在一起呈现给大家,希望你能有所收获。


(一)

我奋斗了18年才和你坐在一起喝咖啡

作者:麦子

的白领朋友们,如果我是一个初中没毕业就来沪打工的民工,你会和我坐在starbucks一起喝咖啡吗?不会,肯定不会。比较我们的成长历程,你会发现为了一些在你看来唾手可得的东西,我却需要付出巨大的努力。

 

从我出生的一刻起,我的身份就与你有了天壤之别,因为我只能报农村户口,而你是城市户口。如果我长大以后一直保持农村户口,那么我就无法在城市中找到一份正式工作,无法享受养老保险、医疗保险,甚至连选举权都不如你们多。

 

你可能会问我:”为什么非要到城市来?农村不很好吗?空气新鲜,又不像城市这么拥挤。”可是农村没有好的医疗条件,03年的sars好像让大家一夜之间发现农村的医疗保健体系竟然如此落后;物质供应也不丰富,因为农民挣的钱少,贵一点的东西就买不起,所以商贩也不会进太多货。

 

农民没有职业发展规划,因为农民不是一个职业,而是一个类似种族一样的天生的阶层。农民没有自我实现的满足感,因为绝大多数人还在为基本的生存而奋斗,那时候春节联欢晚会中买得起等离子彩电的农民毕竟是个别现象。

 

于是我要进城,而且要摆脱我的农民身份,我要通过自己的奋斗获得你生下来就拥有的大城市户口,考学是我跳出农门唯一的机会。我要刻苦学习,小学升初中,初中升高中,高中考大学,我在独木桥上奋勇搏杀,眼看着周围的同学一批批落马,前面的道路越来越窄,我这个佼佼者心里不知是喜是忧。

 

激烈的竞争让我不敢疏忽,除了学习功课,我无暇去顾及业余爱好,学校也没有这些发展个人特长的课程,进入高中的第一天起,校长就告诉我们这三年只有一个目标―高考。于是我披星戴月,早上5:30起床,晚上11:00睡觉,就连中秋节的晚上,我还在路灯下背政治。

 

而你的升学压力要小得多,竞争不是那么激烈,功课也不是很沉重,你可以有充足的时间去发展个人爱好,去读课外读物,去球场挥汗如雨,去野外享受蓝天白云。如果你不想那么辛苦去参加高考,只要成绩不是最差的,你可以在高三时容易地获得保送名额,哪怕成绩最差,也会被”扫”进一所本地三流大学,而那所三流大学我可能也要考到很高的分数才能进去,因为按地区分配的名额中留给上海本地的名额太多了。

 

我们的考卷不一样,如果考卷一样我们的分数线就不一样,但是当我们都获得录取通知书的时候,所交的学费是一样的。每人每年6000元,四年下来光学费就要2万4千元,再加上住宿费每人每年1500元,还有书本教材费每年1000元、生活费每年4000元(只吃学校食堂),四年总共5万元。

 

2003年上海某大学以”新建的松江校区环境优良”为由,将学费提高到每人每年1万元,这就意味着仅学费一项四年就要4万元,再加上其他费用,总共6万6千元。6万6千元对于一个上海城市家庭来说也许算不上沉重的负担,可是对于一个农村的家庭,这简直是一辈子的积蓄。 

 

由于剪刀差、地少人多不成规模经济等众多原因,农业仍然是不赚钱的行业。我的家乡在东部沿海开放市份,是一个农业大市,相比西部内陆市份应该说经济水平还算比较好。可是现在的农产品收购价太便宜了,除去各种农业种植成本和名目繁多的税费,一年辛苦劳作剩不了几个钱。以供养两个孩子的四口之家为例,除去各种日常必需开支,一个家庭每年最多积蓄3000元,那么6万6千元上大学的费用意味着22年的积蓄!前提是任何一个家庭成员都不能生大病,而且另一个孩子无论学习成绩多么优秀,都必须剥夺他上大学的权利,因为家里只能提供这么多钱。我属于比较幸运的,东拼西凑加上助学贷款终于交齐了第一年的学费,看着那些握着录取通知书愁苦不堪全家几近绝望的同学,我的心中真的不是滋味。教育产业化时代的大学招收的不仅是成绩优秀的同学,而且还要有富裕的家长。

 

我终于可以如愿以偿地在大学校园里汲取知识的养分!努力学习获得奖学金,假期打工挣点生活费,我实在不忍心多拿父母一分钱,那每一分钱都是一滴汗珠掉在地上摔成八瓣挣来的血汗钱啊!

 

来到上海这个大都市,我发现与我的同学相比我真是土得掉渣。我不会作画,不会演奏乐器,不认识港台明星,没看过武侠小说,不知道什么是walkman,为了弄明白营销管理课上讲的”仓储式超市”的概念,我在麦德隆好奇地看了一天,我从来没见过如此丰富的商品。

 

我没摸过计算机,为此我花了半年时间泡在学校机房里学习你在中学里就学会的基础知识和操作技能。我的英语是聋子英语、哑巴英语,我的发音中国人和外国人都听不懂,这也不能怪我,我们家乡没有外教,老师自己都读不准,怎么可能教会学生如何正确发音?基础没打好,我只能再花一年时间矫正我的发音。

 

我真的很羡慕大城市的同学多才多艺,知识面这么广,而我只会读书,我的学生时代只有学习、考试、升学,因为只有考上大学,我才能来到你们中间,才能与你们一起学习,所有的一切都必须服从这个目标。

 

我可以忍受城市同学的嘲笑,可以几个星期不吃一份荤菜,可以周六周日全天泡在图书馆和自习室,可以在周末自习回来的路上羡慕地看着校园舞厅里的成双成对,可以在寂寞无聊的深夜在操场上一圈圈地奔跑……我想有一天我毕业的时候,我能在这个大都市挣一份工资的时候,我会和你这个生长在都市里的同龄人一样―做一个上海公民,而我的父母也会为我骄傲,因为他们的孩子在大上海工作!

 

终于毕业了,令我意想不到的是,辛辛苦苦读出来的大学文凭,竟然很难找到工作,在上海工作难找,回到家乡更没有什么就业机会。能幸运地在上海找到工作的应届本科生很多只有每月2000多的工资水平,也许你认为这点钱应该够你零花的了,可是对我来说,我还要租房,还要交水电煤电话费还要还助学贷款,还想给家里寄点钱让弟妹继续读书,剩下的钱只够我每顿吃盖浇饭,我还是不能与你坐在starbucks一起喝咖啡!

 

现在舆论号召我们大学生创业,真不明白我们这些既没钱也没经验的刚毕业的学生有什么资本去创业,为什么那些人浮于事却能旱涝保收的单位里的职工不去辞职创业?也许所有的这一切都怪我投错了胎,为什么我不降生在上海!

 

写到这里,我需要声明:我不是来自农村,我来自一个小城市,在上海读完了硕士,现在有一份年薪七八万的工作。我奋斗了18年,现在终于可以与你坐在一起喝咖啡。

 

我已经融入到这个国际化大都市中了,与周围的白领朋友没有什么差别,可是我无法忘记奋斗历程中那些艰苦的岁月,无法忘记那些曾经的同学和他们永远无法实现的夙愿。于是我以第一人称的方式写下了上面的文字,这些是最典型的中小城市和农村平民子弟奋斗历程的写照。每每看到正在同命运抗争的学子,我的心里总是会有一种沉重的责任感。

 

写这篇文章不是为了怨天尤人,这个世界上公平是相对的,不公平是绝对的,不公平已经存在,这并不可怕,但是对不公平视而不见是非常可怕的。

 

我在上海读硕士的时候,曾经讨论过一个维达纸业的营销案例,我的一位当时曾有3年工作经验,现任一家中外合资公司人事行政经理的同学,提出一个方案:应该让维达纸业开发高档面巾纸产品推向9亿农民市场。

 

我惊讶于她提出这个方案的勇气,当时我问她是否知道农民兄弟吃过饭后如何处理面部油腻,她疑惑地看着我,我用手背在两侧嘴角抹了两下,对如此不雅的动作她斥之鄙夷神色。

 

在一次宏观经济学课上,我的另一同学大肆批判下岗工人和辍学务工务农的少年:”80%是由于他们自己不努力,年轻的时候不学会一门专长,所以现在下岗活该!那些学生可以一边读书一边打工嘛,据说有很多学生一个暑假就能赚几千元,学费还用愁吗?”我的这位同学可能永远都不会相信我本科时有个同学是每天拿着饭盒到学校餐厅里捡别人吃剩的饭菜来熬过四年的大学生活的。

 

他可能没有研究过中国社会财富分配制度的变迁,我们的父辈年富力强时候所创造的财富中本来应该属于自己的那部分,在高积累低消费政策下变成了国有资产,继而变成了国有商业银行成千上万亿元再也收不回来的不良贷款。

 

糟蹋完这些钱后,当年包养老、包医疗、包住房、包教育的空口承诺灰飞烟灭,留给已经老去的父辈只是下岗失业和生活无济。

 

我是70年代中期出生的人,我的同龄人正在逐渐成为社会的中流砥柱,我们的决策将影响社会和经济的发展。

 

把这篇文章送给那些优越环境成长起来的年轻人和很久以前曾经吃过苦现在已经淡忘的人,关注社会下层,为了这个世界更公平些,我们应该做些力所能及的事情,特别是在做关乎众人命运的决策的时候,让这份社会责任感驻留我们的头脑。


(二)

我奋斗了18年不是为了和你一起喝咖啡

此文作者生于1978年,清华大学硕士学位,北京某外企中层领导。文中提及主要人物:我,农家子弟。你,大学同学,北京人。

3年前,麦子的一篇《我奋斗了18年才和你坐在一起喝咖啡》引起多少共鸣,一个农家子弟经过18年的奋斗,才取得和大都会里的同龄人平起平坐的权利,一代人的真实写照。

 

然而,3年过去,我恍然发觉,他言之过早。 18年又如何?再丰盛的年华叠加,我仍不能和你坐在一起喝咖啡。

 

那年我25,无数个夙兴夜寐,换来一个硕士学位,额上的抬头纹分外明显,脚下却半步也不敢停歇。如果不想让户口打回原籍,子子孙孙无穷匮,得赶紧地找份留京工作。你呢?你不着急,魔兽世界和红色警报?早玩腻了!你野心勃勃地筹划着“创业创业”。当时李彦宏、陈天桥、周云帆,牛人们还没有横空出世,百度、Google、完美时空更是遥远的名词,可青春所向披靡不可一世,你在校园里建起配送网站,大张旗鼓地招兵买马,大小媒体的记者蜂拥而至。334寝室很快在全楼名噪一时,小姑娘们从天南地北寄来粉粉的信纸,仰慕地写道:“从报上得知你的精彩故事……”得空,爬上楼顶吹吹风,你眉飞色舞地转向我,以照顾自己人的口气说,兄弟,一起发财如何? 

 

好呀,可惜,我不能。创业于你,是可进可退可攻可守的棋,启动资金有三姑六眷帮忙筹集,就算铩羽而归,父母那三室一厅、温暖的灶台也永不落空。失败于我,意味着覆水难收一败涂地,每年夏天,为了节省三五百块钱的机器钱,爹娘要扛着腰肌劳损在大日头下收割5亩农田。我穿着借来的西服完成了第一次面试,戴着借来的手表与心爱的女孩进行了第一次约会。当你拿到了第一笔投资兴奋地报告全班时,我冷静地穿越大半个北京城,去做最后一份家教。没错,“这活儿技术含量忒低”,但在第一个月工资下发前,我租来的立锥之地与口粮全靠它维持。

 

不多久,互联网就遭遇了寒流,你也对创业意兴阑珊,进了家国有性质的通信公司,我被一家外企聘用。坐井观天的我,竟傻傻地以为扳回了一局。明面上的工资,我比你超出一截,税后8000,出差住5星级宾馆,一年带薪休假10天。玩命一样地投入工作,坚信几年后也有个童话般的结尾,“和公主过上幸福的生活”。

 

好景不长,很快,我明白了为什么大家说白领是句骂人的话。写字楼的套餐,标价35,几乎没人搭理它。午餐时间,最抢手的是各层拐角处的微波炉,“白领”们端着带来的便当,排起了长长的队伍。后来,物业允许快餐公司入住,又出现了“千人排队等丽华”的盛况。这些月入近万的人士节约到抠门的程度。一位同事,10块钱的感冒药都找保险公司理赔;另一位,在脏乱差的火车站耗上3个小时,为的是18:00后返程能多得150元的晚餐补助。

 

这幕幕喜剧未能令我发笑,我读得懂,每个数字后都凝结着加班加点与忍气吞声;俯首帖耳被老板盘剥,为的是一平米一平米构筑起自己的小窝。白手起家的过程艰辛而漫长,整整3年,我没休过一次长假没吃过一回鸭脖子;听到“华为25岁员工胡新宇过劳死”的新闻,也半点儿不觉得惊讶,以血汗、青春换银子的现象在这个行业太普遍了。下次,当你在上地看见一群人穿着西装革履拎着IBM笔记本奋力挤上4毛钱的公交车,千万别奇怪,我们就是一群IT民工。

 

惟一让人欣慰的是,我们离理想中的目标一步步靠近。

 

突如其来地,你的喜讯从天而降:邀请大家周末去新居暖暖房。怎么可能?你竟比我快?可豁亮的100多平方米、红苹果家具、37寸液晶大彩电无可质疑地摆在眼前。你轻描淡写地说,老头子给了10万,她家里也给了10万,老催着我们结婚……回家的路上,女朋友郁郁不说话,她和我一样,来自无名的山城。我揽过她的肩膀,鼓励她也是鼓励自己,没关系,我们拿时间换空间。

 

蜜月你在香港过的,轻而易举地花掉了半年的工资,回来说,意思不大,不像TVB电视里拍的那样美轮美奂;我的婚礼,在家乡的土路、乡亲的围观中巡游,在低矮昏暗的老房子里拜了天地,在寒冷的土炕上与爱人相拥入眠。幸运的是,多年后黯淡的图景化作妻子博客里光芒四射的图画,她回味:“有爱的地方,就有天堂。”

 

我们都想给深爱的女孩以天堂,天堂的含义却迥然不同。你的老婆当上了全职太太,每天用电驴下载《老友记》和《越狱》;我也想这么来着,老婆不同意,你养我,谁养我爸妈?不忍心让你一个人养7个人。当你的女孩敷着倩碧面膜舒服地翘起脚,我的女孩却在人海中顽强地搏杀。

 

两个人赚钱的速度快得多。到2004年年底,我们也攒到了人生中第一个10万,谁知中国的楼市在此时被魔鬼唤醒,海啸般狂飙突进,摧毁一切渺小虚弱的个体。2005年3月,首付还够买西四环的郦城,到7月,只能去南城扫楼了。我们的积蓄本来能买90平方米的两居来着,9月中旬,仅仅过去2个月,只够买80多平。

 

没学过经济学原理?没关系。生活生动地阐释了什么叫资产泡沫与流动性泛滥。这时专家跳出来发言了,“北京房价应该降30%,上海房价应该降40%。”要不,再等等?我险些栖身于温吞的空方阵营,是你站出来指点迷津:赶快买,房价还会涨。买房的消息传回老家,爹娘一个劲儿地唏嘘:抵得上俺们忙活半年。在他们看来,7500元一平方米是不可思议的天价。3年后的2008,师弟们纷纷感叹,你赚大发了,四环内均价1万4,已无楼可买。

 

几天前,我看见了水木上一句留言,颇为感慨:“工作5年还没买房真活该,2003年正是楼市低迷与萧条之时。等到今天,踏空的不仅是黄金楼市,更是整个人生。”

 

真要感谢你,在我不知理财为何物之时,你早早地告诉我什么叫消费什么叫投资。

 

并非所有人都拥有前瞻的眼光和投资的观念。许多和我一样来自小地方、只知埋头苦干的兄弟们,太过关注脚下的麦田,以至于错过一片璀璨的星空。你的理论是,赚钱是为了花,只有在流通中才能增值,买到喜爱的商品,让生活心旷神怡。而我的农民兄弟——这里特指是出身农家毕业后留在大城市的兄弟,习惯于把人民币紧紧地捏在手中。存折数字的增长让他们痴迷。该买房时,他们在租房;该还贷时,他们宁可忍受7%的贷款利率,也要存上5年的定期。辛苦赚来的银子在等待中缩水贬值。他们往往在房价的巅峰处,无可奈何地接下最后一棒;也曾天真地许愿,赚够100万就回家买房。可等到那一天真的到来,老家的房价,二线、三线城市甚至乡镇的都已疯长。

 

这便是我和你的最大差别,根深蒂固的分歧、不可逾越的鸿沟也在于此。我曾经以为,学位、薪水、公司名气一样了,我们的人生便一样了。事实上,差别不体现在显而易见的符号上,而是体现在世世代代的传承里,体现在血液里,体现在头脑中。18年的积累,家庭出身、生活方式、财务观念,造就了那样一个你,也造就了这样一个我,造就了你的疏狂佻达与我的保守持重。

 

当我还清贷款时,你买了第二套住房;上证指数6000点,当我好容易试水成为股民,你清仓离场,转投金市;我每月寄1000元回去,承担起赡养父母的责任,你笑嘻嘻地说,养老,我不啃老就不错了;当我思考着要不要生孩子、养孩子的成本会在多大程度上折损生活品质时,4个老人已出钱出力帮你抚养起独二代;黄金周去一趟九寨沟挺好的了,你不满足,你说德国太拘谨美国太随意法国才是你向往的时尚之都……

 

我的故事,是一代“移民”的真实写照——迫不得已离乡背井,祖国幅员辽阔,我却像候鸟一样辗转迁徙,择木而栖。现行的社会体制,注定了大城市拥有更丰富的教育资源、医疗资源、生活便利。即便取得了一纸户口,跻身融入的过程依然是充满煎熬,5年、10年乃至更长时间的奋斗才获得土著们唾手可得的一切。曾经愤慨过,追寻过,如今,却学会了不再抱怨,在一个又一个缝隙间心平气和。差距固然存在,但并不令人遗憾,正是差距和为弥补差距所付出的努力,加强了生命的张力,使其更有层次更加多元。

 

可以想见的未来是,有一天我们的后代会相聚于迪斯尼(这点自信我还是有的),讲起父亲的故事,我的那一个,虽然不一定更精致更华彩,无疑曲折有趣得多。那个故事,关于独立、勇气、绝地反弹、起死回生,我给不起儿子名车豪宅,却能给他一个不断成长的心灵。我要跟他说,无论贫穷富贵,百万家资或颠沛流离,都要一样地从容豁达。

 

至此,喝不喝咖啡又有什么打紧呢?生活姿态的优雅与否,不取决于你所坐的位置、所持的器皿、所付的茶资。它取决于你品茗的态度。

 

我奋斗了18年,不是为了和你一起喝咖啡。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
--------语法 --建立视图 --if exists(select * from sysobjects where name='视图名') -- drop view 视图名 --go --create view 视图名 --as --select 字段名 from 表名 [条件] --go --主外健约束语句没有执行 use T90ERP go --***********人力资源 --部门表:Depet if exists(select * from sysobjects where name='Depet') drop table Depet go create table Depet ( dept_id Int primary key identity(1,1) not null, --部门编号 主键,自增 dept_name Varchar(20) not null --部门名称 ) ----约束 --alter table Depet add constraint UQ_dept_name unique (dept_name) go --职位表:Post if exists(select * from sysobjects where name='Post') drop table Post go create table Post ( Post_id Int primary key identity(1,1) not null, --职位编号 主键 自增 Post_name Varchar(50) not null, --职位名称 唯一 Post_money Money not null, --职位工资 Dept_id int not null --部门编号 外 Int 级联删除 ) ----约束 --alter table post add constraint UQ_post_name unique (post_name) alter table post add constraint FK_post_deptId foreign key(post_deptId) references depet(dept_id) go --员工信息表:Employee if exists(select * from sysobjects where name='Employee') drop table Employee go create table Employee ( Emp_id Int primary key identity(1,1) not null, --员工信息编号 主键,自增 Emp_number Varchar(50) not null, --员工工号 唯一 Emp_postId Int not null, --职位编号 外键 级联删除 Emp_hire Datetime not null, --录用时间 Emp_state Bit not null, --状态 默认1 (1在职/0离职) ) ----约束 --alter table Employee add constraint UQ_emp_number unique (emp_number) alter table Employee add constraint FK_emp_postId foreign key (emp_postId) references post(post_id) --alter table Employee add constraint DF_emp_state default(1) for emp_state go --简历表:Resume if exists(select * from sysobjects where name='Resume') drop table Resume go create table Resume ( Res_id Int primary key identity(1,1) not null, --职员信息ID 主键 非空自增 Int Emp_id Int not null, --职员ID 外键 Res_name Varchar(50) not null, --真实姓名 Res_englishname Varchar(50) null, --英文名 空 Res_idcard Varchar(19) not null, --身份证号 唯一索引 只有18位数字或18位数字加X Res_sex bit not null, --性别 默认1 男 只有男和女两种 Res_bornDate datetime not null, --出生月 Res_nativeplace varchar(50) not null, --籍贯 Res_nation Varchar(50) not null, --民族 默认汉族 Res_health text null, --健康状况 空 默认健康 Res_diploma Varchar(50) not null, --学历 Res_address Varchar(50) null, --联系地址 空,默认地址不详 Res_Tel Varchar(50) not null, --电话 只能是11为数字 Res_photo image null --照片 空 ) ----约束 alter table Resume add constraint FK_res_empid foreign key (res_empid) references Employee(emp_id) --alter table Resume add constraint UQ_res_idcard unique (res_idcard) --alter table Resume add constraint CK_res_idcard check (res_idcard like '[1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9] --[1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9]' or res_idcard like '[1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9] --[1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9]X') --alter table Resume add constraint DF_res_sex default (1) for res_sex --alter table Resume add constraint CK_res_sex check(res_sex=1 or res_sex=0) --alter table Resume add constraint DF_res_nation default ('汉族') for res_nation --alter table Resume add constraint DF_res_health default ('健康') for res_health --alter table Resume add constraint DF_res_health defatult(1) for res_health --alter table Resume add constraint DF_res_address default ('地址不详') for res_address --alter table Resume add constraint CK_res_tel check(len(res_tel)=11) go --考勤类型表:CheckType if exists(select * from sysobjects where name='CheckType') drop table CheckType create table CheckType ( Checkt_id int primary key identity(1,1) not null, --考勤类型 主键 自增 Int Checkt_name varchar(50) not null --考勤名称(干什么) Varchar(50) ) go --考勤表:Check if exists(select * from sysobjects where name='CheckInfo') drop table CheckInfo create table CheckInfo ( Check_id int primary key identity(1,1) not null, --考勤id 主键 自增 Int Emp_id int not null, --员工id 外键 Int Check_hire datetime not null, --考勤开始时间 开始时间必须 Datetime Check_end datetime not null, --考勤结束时间 要在结束时间之前 Datatime Checkt_id int not null, --考勤类型 外键 Int Check_gtime int not null, --工休天数 Int check_time int not null --扣薪天数 Int ) ----约束 alter table CheckInfo add constraint FK_check_empId foreign key (check_empId) references Employee(emp_id) alter table CheckInfo add constraint FK_check_checktId foreign key (check_empId) references checkt(checkt_id) --alter table CheckInfo add constraint CK_check_hire check(check_hirecheck_hire) go --培训管理:Train if exists(select * from sysobjects where name='Train') drop table Train create table Train ( Train_id int primary key identity(1,1) not null, --培训编号 主键 自增 Int Train_time datetime not null, --培训日期 Datetime Train_address varchar(200) not null, --地址 Varchar(200) Train_content text not null, --内容 text Emp_id int not null, --职员编号 Int Train_teacher varchar(20) not null --讲师 Varchar(20) ) go --奖罚记录类型:PrizeAmerceType if exists(select * from sysobjects where name='PrizeAmerceType') drop table PrizeAmerceType create table PrizeAmerceType ( Prizet_id int primary key identity(1,1) not null, --奖罚记录类型id 主键 自增 Int Prizet_name varchar(50) not null, --奖罚记录名称 Varchar(50) Prizet_money money not null --奖罚金额 Money ) go --奖罚记录表:PrizeAmerceRecord if exists(select * from sysobjects where name='PrizeAmerceRecord') drop table PrizeAmerceRecord create table PrizeAmerceRecord ( Prize_id int primary key identity(1,1) not null, --奖罚记录id 主键 自增 Int Emp_id int not null, --员工id 外键 Int Prize_time datetime not null, --时间 Datetime Prizet_id int not null, --引用奖罚类型id 外键 Int Prize_desc text null, --描述 空,默认没有描述 text ) ----约束 --alter table PrizeAmerceRecord add constraint FK_prize_empid foreign key(prize_empId) references Employee(emp_id) --alter table PrizeAmerceRecord add constraint FK_prize_prizetid foreign key(prize_prizetId) references PrizeAmerceType(prizet_id) alter table PrizeAmerceRecord add constraint DF_prize_desc default('没有描述') for prize_desc go --档案:Record if exists(select * from sysobjects where name='Record') drop table Record create table Record ( Re_id int primary key identity(1,1) not null, --档案id 主键 自增 Int Re_code varchar(50) not null, --档案代码 日期+随即数生成 Varchar(50) Emp_id int not null, --员工id 外键 Int Prize_id int not null --奖罚记录id 外键 Int ) ----约束 --alter table Record add constraint FK_re_empId foreign key (re_empId) references Employee(emp_id) go --薪资表:SalaryInfo if exists(select * from sysobjects where name='SalaryInfo') drop table SalaryInfo create table SalaryInfo ( Sal_id int primary key identity(1,1) not null, --薪水表ID 主键 自增 Int Emp_id int not null, --职员ID 外键 Int Sal_bonus money not null, --奖金 Money Sal_deduct numeric(18,2) not null, --扣除 Numerica(18,2) Sal_tax money not null, --扣税 Money 默认为0 Sal_sum money not null, --总薪水 Money Sal_date smalldatetime not null --发放日期 smalldatetime ) ----约束 --alter table SalaryInfo add constraint FK_sal_empid foreign key (sal_empId) references Employee(emp_id) go --***********采购管理 --供应商级别:LevelInfo if exists(select * from sysobjects where name='LevelInfo') drop table LevelInfo create table LevelInfo ( Level_id int primary key identity(1,1) not null, --级别编号 主 自增 Int Level_name varchar(10) not null --级别名称 Varchar(10) ) go --供应商:Victualer if exists(select * from sysobjects where name='Victualer') drop table Victualer create table Victualer ( Victu_id int primary key identity(1,1) not null, --供应商编号 主 自增 Int Victu_name varchar(100) not null, --名称 Varchar(100) Level_id int not null, --级别编号 外,LevelInfo表 Int Victu_people varchar(20) not null, --联系人 Varchar(20) Victu_telephone varchar(11) not null, --联系电话 Varvhar(11),必须是11位 Victu_email varchar(50) null, --邮件 空,必须符合邮件格式 Varchar(50) Victu_address text not null, --联系地址 Text 默认地址不详 Victu_remark text null --备注 空,默认没有备注 Text ) ----约束 --alter table Victualer add constraint FK_Victu_levelId foreign key(Victu_levelId) references LevelInfo(Level_id) alter table Victualer add constraint CK_Victu_telephone check(len(victu_telephone)=11) alter table Victualer add constraint CK_Victu_email check(victu_email like '%@%.%') alter table Victualer add constraint DF_Victu_remark default ('没有描述') for victu_remark alter table Victualer add constraint DF_Victu_address default ('地址不详') for victu_address go --商品类别:Sort if exists(select * from sysobjects where name='Sort') drop table Sort create table Sort ( Sort_id int primary key identity(1,1) not null, --类别编号 主 自增 Int Sort_name varchar(50) not null --类别名称 Varchar(50) ) go --商品规格表:Spec if exists(select * from sysobjects where name='Spec') drop table Spec create table Spec ( Spec_id int primary key identity(1,1) not null, --规格编号 主 自增 Int Spec_name varchar(50) not null --规格名称 Varchar(50) ) go --商品表:Product if exists(select * from sysobjects where name='Product') drop table Product create table Product ( Pro_id int primary key identity(1,1) not null, --商品编号 主 自增 Int Pro_code varchar(20) not null, --商品代码 按日期+随机数生成,唯一 Varchar(20) Pro_name varchar(50) not null, --商品名称 Varchar(50) Sort_id int not null, --类别编号 外,Sort表 Int Spec_id int not null, --规格编号 外,Spec表 Int Pro_count int not null, --数量 Int Pro_inPrice money not null, --进货价 Money Pro_outPrice money not null, --销售价 Money Victu_id int not null, --供应商编号 外,Victualer表 Int 级联删除 Pro_remark text null --备注 空,默认没有备注 Text ) ----约束 go --询价单:AskPrice if exists(select * from sysobjects where name='AskPrice') drop table AskPrice create table AskPrice ( Ask_id int primary key identity(1,1) not null, --询价单编号 主 自增 Int Victu_id int not null, --供应商编号 外,Victualer表 Int Pro_id int not null, --商品编号 外,Product表 Int ask_price money not null, --报价 Money Ask_time datetime not null --添加时间 Datetime ) ----约束 go --采购单: BuyBill if exists(select * from sysobjects where name='BuyBill') drop table BuyBill create table BuyBill ( Buybill_id int primary key identity(1,1) not null, --采购单编号 主 自增 Int Buybill_num varchar(20) not null, --采购单据号 按日期+随机数生成,唯一 varchar(20) Emp_id int not null, --采购员编号 外,职员表 Int Buybill_time datetime not null, --采购时间 采购时间必须在交货时间之前 Datetime Buybill_delitime datetime not null, --交货时间 Datetime Buybill_remark text not null, --合同备注 Text Buybill_Isexam bit not null --库管是否审批 bit ) ----约束 go --采购明细表: BuyList if exists(select * from sysobjects where name='BuyList') drop table BuyList create table BuyList ( Buylist_id int primary key identity(1,1) not null, --采购明细编号 主 自增 Int Buybill_id int not null, --采购单编号 外,Buybill表 Int Pro_id int not null, --商品编号 外,Prduct表 Int Buylist_Count int not null, --采购数量 Int Buylist_price money not null, --采购价 Money Victu_id int not null, --供应商编号 外,Vitcualer表 Int Dsub_id int not null --采购单商品仓库编号 外,DepotSubarea表 Int ) ----约束 go --采购付款单:PayBill if exists(select * from sysobjects where name='PayBill') drop table PayBill create table PayBill ( Pay_id int primary key identity(1,1) not null, --付款单编号 主 自增 Int Buybill_id int not null, --采购单编号 外,Buybill表 Int Pay_oncoming money not null, --此次付款 如果应付款分为几次付 Money Pay_deal money not null, --应付款 则应付款应该要保持一致 Money Emp_id int not null, --财务部审批人编号 外,职员表 Int Pay_Isexam bit not null, --财务部是否审批 bit Pay_remark text null --备注 空,默认没有备注 text ) ----约束 go --采购退货单:MoveBill if exists(select * from sysobjects where name='MoveBill') drop table MoveBill create table MoveBill ( Move_id int primary key identity(1,1) not null, --退货单编号 主 自增 Int Buybill_id int not null, --采购单编号 外,Buybill表 Int Move_time datetime not null, --退单日期 退单日期必须是在采购日期之后 Datetime Dsub_id int not null, --库管审批人编号 外, Int Move_Isexam bit not null, --库管是否审批 Bit Move_remark text null --备注 空,默认没有备注 Text ) ----约束 go --***********仓库管理 --库区表:DepotSubarea if exists(select * from sysobjects where name='DepotSubarea') drop table DepotSubarea create table DepotSubarea ( Dsub_id int primary key identity(1,1) not null, --库区id 主键 自增 Int Dsub_name varchar(10) not null,--库区名称 Varchar(10) Dsub_type varchar(10) not null--仓库类别 Varchar(10) ) go --移动类型表:Transfer if exists(select * from sysobjects where name='Transfer') drop table Transfer create table Transfer ( Tran_id int primary key identity(1,1) not null, --移动类型id 主键 自增 Int Tran_name varchar(20) not null --移动类型名称 Varchar(20) ) go --入库明细表:PutInfo if exists(select * from sysobjects where name='PutInfo') drop table PutInfo create table PutInfo ( Put_id Int primary key identity(1,1) not null, --入库明细id 主键 自增 Put_code Varchar(20) not null, --入库单代码 日期+随即数生成 Buybill_id Int not null, --采购单编号 外键 Put_time Datetime not null, --入库时间 Put_people varchar(20) not null, --入库人 Dsub_id Int not null, --库区 外键 级联删除 Tran_id Int not null --移动类型 外键 ) ----约束 go --库存表:Stock if exists(select * from sysobjects where name='Stock') drop table Stock create table Stock ( Stock_id Int primary key identity(1,1) not null, --库存编号 主键 自增 Dsub_id Int not null,            --库区id 外键 Pro_id Int not null,              --商品id 外键 Stock_number Int not null             --商品数量 ) ----约束 go --出库明细表:OutInfo if exists(select * from sysobjects where name='OutInfo') drop table OutInfo create table OutInfo ( Out_id Int primary key identity(1,1) not null, --出库明细id 主键 自增 Out_code Varchar(20) not null, --出库单据号 唯一 Out_time Datetime not null, --出库时间 Out_llr Varchar(20) not null, --领料人 Out_flr Varchar(20) not null, --发料人 Out_tranId Int not null, --移动类型 Out_dsubId Int not null --库区 ) ----约束 go --补仓管理:RepairDepot if exists(select * from sysobjects where name='RepairDepot') drop table RepairDepot create table RepairDepot ( Repa_id Int primary key identity(1,1) not null, --补仓id 主键 自增 Pro_id Int not null, --商品id 外键 Repa_number Int not null, --补仓数量 Repa_dsubId Int not null, --库区表 外键 Repa_remark text null --备注 空,默认没有备注 ) ----约束 go --***********销售管理 --客户级别表(CustLevel) if exists(select * from sysobjects where name='CustLevel') drop table CustLevel create table CustLevel ( Cl_id Int primary key identity(1,1) not null,   --编号 主,自增 Cl_name Varchar(10) not null,           --级别名称 Cl_discount float not null            --折扣 ) --约束 go --客户信息表(customer) if exists(select * from sysobjects where name='customer') drop table customer create table customer ( C_id int primary key identity(1,1) not null,   --编号 主,自动增长 C_number Varchar(10) not null,          --客户代号 C_name Varchar(20) not null,            --客户名称 C_linkman Varchar(20) not null,        --联系人 C_phone Varchar(11) not null,          --联系电话 C_address Text null,              --公司地址 空,默认地址不详 Cl_id Int not null,              --级别编号 外 C_remark text null,               --备注信息 默认没有备注 空 ) --约束 go --订单表(orders) if exists(select * from sysobjects where name='orders') drop table orders create table orders ( O_id int primary key identity(1,1) not null,  --编号 主,自增 O_number Varchar(20) not null,         --订单代码 日期+随即数生成 O_timestart datetime not null,        --下单日期 下单时间必须在交货时间之前 O_timestop Datetime not null,         --交货日期 O_money Money not null,             --下单金额 C_id Int not null,             --客户编号 外 级联删除 Emp_id int not null              --员工编号 外 ) --约束 go --订单明细表(OrderDetails) if exists(select * from sysobjects where name='OrderDetails') drop table OrderDetails create table OrderDetails ( Od_id Int primary key identity(1,1) not null,   --编号 主,自增 O_id int not null,                --订单编号 外 Pro_id int not null,                --商品编号 外 Od_price Money not null,               --单件金额 Od_accounts Int not null               --单件数量 ) --约束 go --销售单表(Sells) if exists(select * from sysobjects where name='Sells') drop table Sells create table Sells ( Sell_id int primary key identity(1,1) not null,    --编号 主,自增 O_id int not null,                 --订单编号 外 Sell_timestart datetime not null,           --销售日期 下单时间必须在交货时间之前 Sell_timestop Datetime not null,            --交货日期 Sell_money Money not null,              --销售金额 C_id Int not null,              --客户编号 外 Emp_id int not null,               --员工编号 外 Sell_remark text null                   --备注 空 ) --约束 go --销售单明细表(SellDetails) if exists(select * from sysobjects where name='SellDetails') drop table SellDetails create table SellDetails ( Selld_id int primary key identity(1,1) not null,   --编号 主,自增 O_id int not null,               --订单编号 Pro_id int not null,              --商品编号 Selld_price Money not null,             --单件金额 Selld_accounts Int not null              --单件数量 ) --约束 go --***********财务管理 --财务科目表:FinaSub if exists(select * from sysobjects where name='FinaSub') drop table FinaSub create table FinaSub ( Fina_id Int primary key identity(1,1) not null, --科目编号 主,自增 Fina_name Varchar(50) not null, --科目名称 Fina_accounts Varchar(50) not null, --银行账号 随机数生成 Fina_people Varchar(50) not null, --联系人 Fina_telephone Varchar(11) not null, --联系电话 Fina_mode Varchar(10) not null, --是借或贷 Fina_play Varchar(10) not null, --借贷方式(现金、发票) Fian_money money not null --金额 ) go --发票信息表:Invoice if exists(select * from sysobjects where name='Invoice') drop table Invoice create table Invoice ( Invo_id Int primary key identity(1,1) not null, --发票编号 主,自增 Invo_code Varchar(50) not null, --发票单据号 日期+随机数生成,唯一 Invo_type Varchar(10) not null, --发票类型 Invo_money money not null, --金额 Invo_use Varchar(50) not null, --发票用途 Invo_datetime Datetime not null, --发票日期 Emp_id int not null --财务员编号 外,职员表 ) ----约束 go --固定资产表:FixedAssets if exists(select * from sysobjects where name='FixedAssets') drop table FixedAssets create table FixedAssets ( Fix_id Int primary key identity(1,1) not null, --资产编号 主,自增 Fix_name Varchar(100) not null, --资产名称 Fix_money Money not null, --可汇兑金额 Fix_datetime Datetime not null, --添加时间 Fix_remark Text null, --备注 空,默认没有备注 ) ----约束 go --财务员统计视图 --***********权限管理 --用户表:UserInfo if exists(select * from sysobjects where name='UserInfo') drop table UserInfo create table UserInfo ( u_id int primary key identity(1,1) not null, --用户编号,主,自增 u_name varchar(20) not null, --用户名,即登录名 u_pass varchar(10) not null, --登录密码 u_time datetime not null --登录时间 ) --insert into UserInfo values('admin','admin','2008-08-05') --insert into UserInfo values('yqh','yqh','2008-08-05') --insert into UserInfo values('gogo','gogo','2008-08-05') --insert into UserInfo values('wangwang','wangwang','2008-08-05') select * from UserInfo go --角色表:RolesInfo if exists(select * from sysobjects where name='RolesInfo') drop table RolesInfo create table RolesInfo ( r_id int primary key identity(1,1) not null, --角色编号,主,自增 r_name varchar(20) not null, --角色名称,即职位名称,唯一 r_desc text null --角色描述,空,默认没有描述 ) alter table RolesInfo add constraint UQ_r_name unique (r_name) alter table RolesInfo add constraint DF_r_desc default ('没有描述') for r_desc --insert into RolesInfo values('系统管理员','可以有任何操作') --insert into RolesInfo values('总经理','最高管理者') --insert into RolesInfo values('部门经理','管理者') --insert into RolesInfo values('普通员工',default) select * from RolesInfo go --用户和角色中间表(因为是、一对多的关系):UserRolesCenter if exists(select * from sysobjects where name='UserRolesCenter') drop table UserRolesCenter create table UserRolesCenter ( c_id int primary key identity(1,1) not null, --中间表编号,主,自增 u_id int not null, --外,用户编号,修改和删除规则都是层叠 r_id int not null --外,角色编号,修改和删除规则都是层叠 ) alter table UserRolesCenter add constraint FK_u_id foreign key (u_id) references UserInfo(u_id) alter table UserRolesCenter add constraint FK_r_id foreign key (r_id) references RolesInfo(r_id) --insert into UserRolesCenter values(1,1) --insert into UserRolesCenter values(1,2) --insert into UserRolesCenter values(2,2) --insert into UserRolesCenter values(3,3) --insert into UserRolesCenter values(4,4) select * from UserRolesCenter --delete from UserRolesCenter where c_id=5 --查询视图 select * from UserRolesView --查询角色1中已有的用户,利用视图 select * from UserRolesView where r_id=1 --查询角色1中没有的用户,利用子查询,用户表中的所有用户减去角色中已有的用户 Select * from UserInfo where u_id not in (select u_id from UserRolesView where r_id=1) go --菜单表:MenuInfo if exists(select * from sysobjects where name='MenuInfo') drop table MenuInfo create table MenuInfo ( M_id Int primary key identity(1,1) not null,--菜单编号 主,自增 M_name Varchar(50) not null,--菜单名称 M_url Varchar(50) null,--菜单链接 空 M_parentId int not null,--父菜单编号 ) --约束 --insert into MenuInfo values('系统权限管理','',0) --insert into MenuInfo values('人力资源管理','',0) --insert into MenuInfo values('采购管理','',0) --insert into MenuInfo values('仓库管理','',0) --insert into MenuInfo values('销售管理','',0) --insert into MenuInfo values('财务管理','',0) select * from MenuInfo go --4.角色和菜单中间表即权限表:PowerInfo if exists(select * from sysobjects where name='PowerInfo') drop table PowerInfo create table PowerInfo ( P_id Int primary key identity(1,1) not null,--权限编号 主 R_id Int not null,--角色编号 外 ,修改和删除规则都是层叠 M_id int not null,--菜单编号 外 ,修改和删除规则都是层叠 ) --约束 alter table PowerInfo add constraint FK_pr_id foreign key (r_id) references RolesInfo(r_id) alter table PowerInfo add constraint FK_m_id foreign key (m_id) references MenuInfo(m_id) --insert into PowerInfo values(1,1) --insert into PowerInfo values(1,2) --insert into PowerInfo values(2,2) --insert into PowerInfo values(3,3) --insert into PowerInfo values(4,4) select * from PowerInfo --查询视图 select * from RolesMenuView --查询角色1中已有的功能,利用视图 select * from RolesMenuView where r_id=1 --查询角色1中没有的功能,利用子查询,菜单表中的所有功能减去角色中已有的功能 Select * from MenuInfo where m_id not in (select m_id from RolesMenuView where r_id=1) go

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值