Web (웹), Server (서버) 11

[Server] DataBase ERD / 데이터베이스 ERD

이번 포스팅에서는 DB ERD에 대해 알아보자. ERD 란? Entity Relationship Diagram의 약어다. *Entity : 실재, 독립체 등 / Relationship : 관계 Entity를 DB 내 하나의 테이블로 놓고 본다면 'DB 내 테이블 관계 다이어그램' 이라 이해할 수 있다. 가끔 ERD 다이어그램이라고 부르는 사람이 있는데, 다이어그램 x2 이기 때문에 부끄럽지 않도록 조심하자. ERD 사용하면 뭐가 좋아요? ● 실제 DB를 구현하기 전, DB 설계의 이해를 높이기 위해 모델링할 수 있다. ● DB 구조를 한 눈에 알아보기 쉽도록 도움을 준다. ● 개발 시작 후에도, 구조화된 다이어그램을 보면서 수월한 작업을 할 수 있다. ERD 표기 방법 이제 엔티티의 관계를 표기하는 방법..

[Server] DataBase Transaction / 데이터베이스 트랜잭션 / 사용법

이번 포스팅에서는 데이터베이스 트랜잭션에 대해 알아본다. 트랜잭션이란? '하나의 작업을 수행하기 위해 필요한 데이터베이스 연산을 모아놓은 것' 'DB의 상태를 변화시키기 위해 수행하는 작업 단위' 라고 정의하기도 한다. 요약하자면, 'DB의 상태를 변화시키는 여러 명령이 묶인 작업의 한 단위' 라고 할 수 있겠다. 트랜잭션의 특징 트랜잭션은 다음과 같은 4가지 특징을 가지고 있다. ✅ 원자성 (Atomicity) 트랜잭션이 DB에 '모두' 반영되거나, '전혀' 반영되지 않아야 한다. 3가지 작업을 한번에 수행했을 때, 2개는 성공하고 1개는 실패했다고 가정한다. 실패한 1개의 작업 때문에 성공한 2개의 작업을 'rollback' 하여 되돌려 놓아야 한다. ✅ 일관성 (Consistency) 작업 처리 결..

[MySQL] Join을 사용해보자

MySQL에서 테이블 Join 하는 방법에 대해 알아보자. Join 이란? 데이터베이스의 여러 테이블에서 가져온 데이터를 하나의 집합으로 표현해준다. 그렇기에 Join은 Select문과 함께 쓰인다. 표준 SQL에서는 Join을 다음과 같이 분류한다. - INNER Join - LEFT Join - RIGHT Join Database Table 세팅 Join을 실습할 테이블부터 만들어 주겠다. 대충 다음과 같은 2개의 테이블을 만들었다. user 테이블과 hobby 테이블로 실습을 진행해 보겠다. Join 사용법 ✅ INNER Join // 문법 SELECT * FROM '테이블 명' INNER JOIN '테이블 명' ON '컬럼 명' = '컬럼 명'; // 예시 SELECT * FROM user INN..

[Web] HTML에 CSS 적용하기 - (2) / CSS 적용 안될 때 / CSS 적용 우선 순위 / 스타일 시트 우선 순위 / 선택자 우선 순위 / 페이지 강력 새로고침

지난 포스팅에 이어 HTML에 CSS 적용하기 2편이다. 간단한 문법적인 내용은 지난 편에서 다루었고 오늘은 CSS를 마음대로 다루기 힘들었던 경험을 토대로 CSS 적용 우선 순위에 대해 알아보겠다. Web을 처음 공부하는 사람들은 대부분 비슷한 상황을 겪는다. "분명 CSS를 변경했는데, 왜 페이지에 적용이 안되지?" 특히, 부트스트랩 등 외부 템플릿을 적용하고 시작하는 경우 더더욱 그렇다. 위 상황을 해결할 수 있는 방법을 소개한다. (사실 해결 방법이라기엔 좀 그렇다. 공부가 부족한 것 뿐) ✅ 스타일 시트 우선 순위 알아보기 ✅ 선택자 지정 우선 순위 알아보기 ✅ 강력 새로고침 기능 스타일 시트와 선택자 지정도 모르겠다면, 지난 포스팅을 정독하고 오기 바란다. [Web] HTML에 CSS 적용하기..

[Web] HTML에 CSS 적용하기 - (1) / 스타일 시트 종류 / 선택자 지정하기

간만에 Web 관련 포스팅이다. HTML에 CSS를 적용하는 방법을 2번의 포스팅에 걸쳐 알아보겠다. 이번 포스팅에서는 HTML에 CSS를 적용하는 방법에 대해 간단히 알아보고, 다음 포스팅에서는 CSS가 적용되는 우선 순위에 대해 알아볼 것이다. HTML에 CSS를 적용하는 방법은 3가지로 분류할 수 있다. ✅ 외부 스타일 시트 ✅ 내부 스타일 시트 ✅ 인라인 스타일 외부 / 내부 스타일 시트의 경우, 선택자를 지정해줘야 한다. 선택자를 지정하는 방식도 3가지로 분류할 수 있다. ✅ HTML 요소 선택자 ✅ id 선택자 ✅ class 선택자 하나씩 차근차근 알아보자. 외부 스타일 시트 .css 확장자를 가진 파일을 외부에서 관리하고, 적용할 파일의 Css Test 결과는 다음과 같다. 색상이 적용된 것..

[Web] HTTP, HTTPS, HTTP2 에 대해 알아보자

이번 포스팅에서는 HTTP와 HTTPS, HTTP2의 개요와 특징, 차이점 등을 각 프로토콜의 출시 과정을 통해 알아보고자 한다. HTTP 란? *HyperText Transfer Protocol ● 하이퍼 텍스트를 전송하기 위한 프로토콜이다. 하이퍼 텍스트를 작성하기 위해 개발된 언어가 HTML이기 때문에, HTML을 전송하기 위한 프로토콜이라고 볼 수도 있다. ● 요청(Request)과 응답(Response)으로 구성되어 있다. 요청과 응답이 오고 가는 것을 하나의 스트림(Stream)이라 표현한다. ● 텍스트 데이터만을 취급한다. ● 80번 포트를 사용하도록 정의되어 있다. ★ 확장 가능한 프로토콜이기에 계속 진화하고 있다. HTTP는 현재까지도 새로운 버전이 출시되는 등 거듭 진화중이라고 볼 수 ..

[MySQL] 테이블에 데이터 생성 · 읽기 · 수정 · 삭제 / 데이터 CRUD - INSERT · SELECT · UPDATE · DELETE / PRIMARY KEY, AUTO_INCREMENT 초기화

지난 포스팅에서 데이터베이스를 생성해보고, 테이블을 관리하는 방법까지 알아보았다. 이제 테이블에 데이터를 직접 CRUD 해보며 DB를 본격적으로 사용해 보겠다. CRUD란? 대부분의 컴퓨터 소프트웨어가 가지는 데이터 처리 기능인 생성 · 읽기 · 수정 · 삭제를 묶어서 일컫는 말이다. (CREATE / READ / UPDATE / DELETE) 기능적인 의미로는 CRUD와 동일하다고 볼 수 있지만, SQL 구문에서는 다음과 같이 사용한다. (INSERT / SELECT / UPDATE / DELETE) 데이터 추가에 앞서, 지난 포스팅까지 사용했던 테이블의 구조를 확인하고 시작하자. 지난 포스팅과 일부 달라진 점이 있다면, 'age' 컬럼 자료형을 수정했고 NULL을 허용했으며 Default 값을 추가해..

[MySQL] 테이블 수정 ALTER TABLE - 테이블 이름 수정 / 컬럼 추가, 수정, 삭제

지난 포스팅에서 테이블 생성 · 삭제를 적용해 보았다. 이어서 테이블 수정 구문을 알아보자. 테이블 정보를 관리할 때는, ALTER TABLE 구문을 사용한다. *alter : 바꾸다 테이블 이름 변경 지난 포스팅에서 테이블 삭제 후 재생성하는 방법을 배웠다. 하지만 테이블에 데이터가 있다고 가정했을 때, 삭제하는 방법보다는 이름만 수정하는 방법을 택해야 할 것이다. 테이블 이름을 수정하는 문법은 다음과 같다. 문법) ALTER TABLE '변경 전 테이블 이름' RENAME '변경 후 테이블 이름'; 예시) ALTER TABLE user RENAME userinfo; SHOW TABLES; 명령어를 통해 변경 전·후를 확인해보자. 테이블 이름이 'user' > 'userinfo' 로 변경되었다. 테이블..