Clarification on frameworks, CMS, and databases

Hi, I am completely new to website development but I do have a BA/MS in math and have done various programming related to solving numerical problems in C so I’m not totally unfamiliar with coding.

I’m trying to get a handle on the basic architecture (any book suggestions would be appreciated as well, I read "Creating Web Pages for Dummies and think I need something a step up). I did try searching the forums and various google’ing but would appreciate some clarification on the below.

Context: I’d like to build a site from scratch with user review capabilities (which will obviously have a database component).

I’d like to distinguish the difference between frameworks, CMSes, editors, databases, and editors.

First addressing framework and CMS - if I’m understanding correctly, a framework is used to develop an application, while a CMS is used to manage content. I.e. A framework can be used to create a CMS. It also seems like frameworks tend to be used for collaborative i.e. multiple people coding projects.

Q1: Is there inherently, or by default a framework? I.e. does every website have a framework?

Q2: Does a CMS have to have an underlying framework? I.e. is there a structrual hierarchy?

Q3: If I’m the only person working on the site, do I need a framework?

Then databases, where does this fit into the framework and CMS? I would imagine that a CMS could contain a database, but not necessarily the other way around.

Q4: Are databases managed through CMSs or can they also exist as standalone components?

And lastly, the editor. I understand what editors are and what purpose they serve but I’m a little confused about some of the suggested tools I’ve come across e.g. is Dreamweaver an editor and CMS?

Thanks in advance!

No, many websites are ‘static’, meaning each page is just a simple .html page.

Q2: Does a CMS have to have an underlying framework? I.e. is there a structrual hierarchy?

Not all CMSs have a framework underlying them. A framework is just a handy foundation on which they can stand.

Q3: If I’m the only person working on the site, do I need a framework?

No, it depends on what kind of site it is, but many don’t have a framework.

Then databases, where does this fit into the framework and CMS? I would imagine that a CMS could contain a database, but not necessarily the other way around.

(Warning: this is not my area, but then this is not the database forum!). Most CMSs store and retrieve content from a DB. (Though some just use ‘flat files’ instead.) No, a DB would not ‘contain’ a CMS. DBs are just tables holding data (as far as I understand).

Q4: Are databases managed through CMSs or can they also exist as standalone components?

They are a standalone component, and the CMS communicates with them. Normally your web hosting account with have DB software installed, so you log in to your account and set up a DB for your purposes (through something like PHPMyAdmin). Some CMSs automatically set up the DB for you, so you can even skip this step.

I’m a little confused about some of the suggested tools I’ve come across e.g. is Dreamweaver an editor and CMS?

Dw is an editor, not a CMS. An editor is a program well suited for writing code (or in the case of Dw, it also has WYSIWYG capabilities, meaning that you design a site visually rather than via code, but steer clear of this if you can.) So, the code editor will do things like highlight different kinds of code in different colors, warn you if you’ve made a mistake, etc. Some, like Dw, also include FTP facilities, meaning that you click a button and the files you’ve created are uploaded to the web. If a code editor does not include FTP, then you need a separate program for this, such as FileZilla.

A code editor can be very simple. On a Mac, you can use TextEdit, and on Windows Notepad, both free, simple text editors. They are perfectly fine for building a website, but you don’t get code highlighting and all the other handy features of the more specialized programs like Dw. There are lots of nice code editors like Dw that are free, so don’t assume you have to fork out big sums for a code editor.

A CMS, on the other hand, is just a bunch of files containing scripts and other bits and pieces that you upload to the web and which help to manage the website content automatically, rather than you doing everything by hand.

Fantastic, thank you so much for clarifying everything!