数据库课程设计:SQL Server + Express + node.js + ejs 论坛管理系统
前言
这是一篇对数据库课程设计的总结,这不是教程也不是指导,只是我的经验之谈,其中可能有许多错误,请小心,不要被误导。祝愿你看了这篇文章后能做出更好的设计。
我对web开发并不熟悉,而我们的课程设计只有一周的时间。这决定了我不能引入一些复杂的东西,它们难以学习,而且出错也很难解决。最重要的是我讨厌复杂的东西。
所以我使用node.js + express + ejs + html + css + js,都是相对简单的东西。
如果你有一些html + css + js基础,那么其他三者就不是问题。
课程设计介绍
我们做的是一个论坛管理系统,实际上,只实现了:
- 用户注册,登录,退出
- 发帖、评论、回复评论
- 修改帖子
程序代码是由我写的,但是组员们也提供了很多帮助(我们三人一组)
参考资料
- 使用 Express + MongoDB 搭建多人博客
这是相当好的文章,写得很简单。
先是构建一个简单的博客系统,然后添加更多的功能
然而,这篇文章有许多错误,应该也不能说是错误。因为各个组件版本的原因,可能将其代码在你的环境运行时会出现问题。
此外,这个博客是使用MongoDB作为数据库。国内数据库课程设计需要使用SQL Server - 简明 MongoDB 入门教程
MongoDB感觉要比SQL更好用,这篇文章也写的很好。我本来是使用MongoDB作为数据库,后来再同SQL连接 - NodeJs+Express+SqlServer简易后台API服务搭建
如何连接SQL Server可以参考这篇,具体mssql的用法,最好还是参考GitHub - Nodejs中connect-flash模块的调用
- JS - Promise使用详解1(基本概念、使用优点)
以前学习js时,没有对回调深入了解。感觉回调真是让人难受,使用Promise可以更舒服点,但本质上还是一样的
一些资源
如果想让网站有个好看的图标可以在icons8下载,其有不少免费的图标。
让文章支持markdown,可以使用markdown-it
差点忘了,连接SQL Server这个坑,我连接SQL花了许多时间。结果发现服务根本就没有开启。
参考:node mssql 无法连接sql server
我的项目
https://github.com/xiyu714/WhyForum
关于具体实现请看我的代码,数据库的设计在readme中给出。
注意
这里记录一些我遇到的坑
- 不熟悉箭头运算符,不要使用箭头运算符,参考:少年,不要滥用箭头函数啊:JS中lambda表达式的优缺点和使用场景
- 在开发中,不要使用浏览器缓存,参考:快速禁止Chrome浏览器缓存
其他
本来是数据库课程设计,但实际上,我在前端上花的时间要更多。
SQL Server有许多功能,比如触发器、存储过程等,作为数据库课程设计我本应该使用他们的。但是在经过思考后,我并没有使用。你必须清楚哪些是需要的在前端做的,哪些是需要在SQL Server做的。

本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。转载请注明出处!
数据库课程设计:SQL Server + Express + node.js + ejs 论坛管理系统的更多相关文章
- node-sqlserver :微软发布的 SQL Server 的 Node.js 驱动
node-sqlserver 是微软官方发布的 SQL Server 的 Node.js 的驱动程序.可允许 Windows 上运行的 Node.js 程序访问 SQL Server 和 Window ...
- SQL SERVER EXPRESS 连接字符串
Microsoft SQL Server Express Edition 为生成应用程序提供了一个简单的数据库解决方案.SQL Server Express Edition 支持完整的 SQL Ser ...
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- Access数据库导入到SQL Server 2005 Express中
安装好SQL Server 2005 Express后,再安装SQL Server Management Studio Express CTP就可以很方便的使用控制台进行数据库的管理.但SQL Ser ...
- 使用PowerDesigner 设计SQL Server 数据库
工具: Sybase PowerDesigner 12.5 Microsoft SQL Server 2005 第一步:概念数据模型 打开PowerDesigner 软件,设计“概念数据模型”(Co ...
- 无法定位 Local Database Runtime 安装。请验证 SQL Server Express 是否正确安装以及本地数据库运行时功能是否已启用。
错误描述: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provide ...
- 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF
1:书籍下载方式: SQL Server2016从入门到实战 PDF 下载 链接:https://pan.baidu.com/s/1sWZjdud4RosPyg8sUBaqsQ 密码:8z7w 学习 ...
- SQL Server与SQL Server Express的区别
SQL Server Express 2005(以下简称 SQLExpress) 是由微软公司开发的 SQL Server 2005(以下简称 SQL2005)的缩减版,这个版本是免费的,它继承了 S ...
- 使用Visual Studio下自带的SQL Server Express
软件环境:Windows7(x64) + Visual Studio 2010 + SQL Server Express 2008 1.配置数据库 装VS2010不小心把自带的SQL Server 2 ...
随机推荐
- Python中ftplib模块的使用
ftplib模块的主要接口 # from ftplib import FTP #加载ftp模块 # ftp=FTP() #设置变量 # ftp.set_debuglevel(2) #打开调试级别2,显 ...
- 【bfs+链式向前星】防御僵尸(defend)计蒜客 - 45288
题目: A 国有 n 座城市,n−1 条双向道路将这些城市连接了起来,任何两个城市都可以通过道路互通. 某日,A 国爆发了丧尸危机,所有的幸存者现在都聚集到了 A 国的首都(首都是编号为 1 的城市) ...
- Netty 学习笔记(1) ------ Hello World
服务端启动流程 package com.example.netty; import com.example.netty.handler.HelloServerHandler; import io.ne ...
- Git报错问题集锦
git merge合并时遇上refusing to merge unrelated histories的解决方案 如果git merge合并的时候出现refusing to merge unrelat ...
- Jarvisoj-web phpinfo
题目入口:http://web.jarvisoj.com:32784/ 一进来就看到源码 简单分析之后知道考点是反序列化,注意到了关键字session_start(),这个函数是用于创建会话.但具体如 ...
- Lua中 pairs和ipairs的区别
Lua系列–pairs和ipairsLua中Table的存储方式在看二者的区别之前,我们首先来看一下Lua中的table是如何在内存中进行分配的.Table的组成:1.哈希表 用来存储Key-Valu ...
- heredoc
Heredoc在正规的PHP文档中和技术书籍中一般没有详细讲述.他是一种Perl风格的字符串输出技术.使用heredoc技术可以实现界面与代码的准分离,比如phpwind模板.规则如下:1.”< ...
- 网络通信协议、UDP通信、TCP通信
网络通信协议 网络通信协议有很多种,目前应用最广泛的是TCP/IP协议,它是一个包括TCP协议和IP协议,UDP协议和其它一些协议的协议组. IP地址和端口号 目前,IP地址广泛使用的版本是IPv4, ...
- Merging 和 Rebasing 的大比拼
虽然 merging 和 rebasing 在 git 中相似时,但他们提供不同的功能.为了让你的历史尽可能的干净和完整,你应该知道以下几点. git rebase 命令已 神奇的 Git voodo ...
- P1359租用游艇(dp+dfs)
好久真的是好久没有做dp的问题了(QWQ)(我有学过这玩意???) 诶,人生呐! 今天来一个动归- 顺便可以回顾一下dfs. 这个题我觉得审题也非常重要 小可爱dp: #include <bit ...