2021-11-30 DB

ansunny1170·2021년 11월 30일
1

UVC BOOTCAMP.DB

목록 보기
1/4

DB 첫번째 수업

운영체제 종류

  1. Windows
  2. Linux
    장점 : 저럼하다, 이식성과 확장성 용이,대부분 프로그래밍 언어 제공..

    (참고 : https://blog.naver.com/ssaho_/222252529110)

  3. Unix

    (참조 : https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4_%EA%B3%84%EC%97%B4)

  • x86이란? 32bit 아키텍처.. 초창기 intel cpu 버전은 80286, 80386... 그래서 앞뒤 숫자를 따서 x86이 됨
    x64란? 64bit 아키텍처.

CLI - command-line interface
GUI - graphical user interface
interface? 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면.

(참조 : https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4_(%EC%BB%B4%ED%93%A8%ED%8C%85))

네트워크

client ↔ server (요청 : Request, 응답 : Response)
Protocol 종류
1. TCP
2. UDP
3. HTTP
4. FTP
5. SMTP
6. SSL
7. SSH
8. HTTPS
9. 등등

REST API(RESTful API, 레스트풀 API)란

REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻한다. REST는 Representational Stage Transfer의 줄임말.

REST(Representational Stage Transfer)
(참조 : https://www.redhat.com/ko/topics/api/what-is-a-rest-api)

API란

애플리케이션 소프트웨어 및 서비스를 통합하는 툴, 정의, 프로토콜의 세트로, 새로운 연결 인프라를 지속적으로 구축할 필요 없이 제품 및 서비스가 서로 커뮤니케이션 할 수 있도록 도와주는 기능.

API(Application Programming Interface)
(참조 : https://www.redhat.com/ko/topics/api)

URL이란

네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약.

URL(Uniform Resource Locator, web address)
(참조 : https://ko.wikipedia.org/wiki/URL)

리눅스

WSL이란

Windows subsystem for linux

WSL
(참조 : https://docs.microsoft.com/ko-kr/windows/wsl/about)

WSL 설치 방법 : MS store에서 windows terminal 검색 후 설치 -> 관리자 권한으로 실행
아래 사진과 같이 dism.exe... 2줄 입력

WSL 설치 후 Ubuntu 설치 시, 아래와 같은 error 발생 시..


해결방법 :
①windows 기능 켜기/끄기 실행
②Linux용 Windows 하위 시스템 체크를 하고 재부팅
만약 이미 체크가 되어있다면, 체크 해제하고 재부팅 -> 다시 체크하고 재부팅 하면 해결 된다.

정상적으로 들어왔다면, 4번째 줄 Enter new UNIX username:까지 확인 가능하다.
ID와 PS를 설정후 pwd입력하면 아래와 같이 나온다.(pwd : 현재 사용자 위치 확인)

WSL2 리눅스 커널 설치 및 2버전 활성화

설치 방법 아래 URL참조하여 다운로드 가능

(참조 : http://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)

windows terminal 관리자 권한으로 실행하여 아래와 같이 wsl 명령어 입력
wsl입력후 사진과 같이 2번째 단락 meta@...이 나오면 WSL2 사용이 어렵고 WSL1을 사용해야한다.

리눅스(Ubuntu) 명령어 실습

(참조 : https://blog.naver.com/gurgml13579/222452258686)


vi 명령어로 수정이 가능하며, cat명령어로 확인이 가능하다.

rm, ls, mkdir, cd, cat..

파일 복사..

파일 이동.. test.txt는 파일명 이지만 메모리상 경로만 바뀐것이다.

find를 사용.. *에스타리스크의 뜻은, test뒤에는 아무거나 라는 뜻.

기능의 usage를 확인하는 방법 : man [명령어], 나갈때는 q

apt-get update 하면 실패한다. 관리자 권한이 없으므로..
sudo su 입력후 최초 설정한 meta에대한 pswd meta0501입력하면 root로 관리자로 모드 변경가능

root변경후 apt-get update 명령어로 경로 최신화 진행. 해당 경로는 stable한 자료에 대한 경로임.

apt-get install nodejs -> nodejs 설치

다운 완료후 버전 검사 node -v -> v10.19.0

nodejs 삭제.. 삭제후 node -v버전 검사로 삭제 여부 확인 가능
최 하단을 보면 bash가 node를 실행하려 했는데 No such... 이므로 삭제 되었음을 알 수 있다.
※참고 : /usr/bin/ 해당경로에 실행파일들이 쌓이는 것을 알 수 있다.
만약 linux에서 실행파일을 설치 혹은 배포하게되면 해당 경로를 똑같이 이용해야한다.

apt-cache search nodejs -> nodejs 패키지에 관련한 패키지 검색 후 출력
apt-cache show nodejs -> nodejs 패키지에 대한 자세한 내용 출력
depends 내용을 보며 해당 패키지 사용시 필요한 조건을 확인 가능함
nodejs의 경우 자동으로 해당 버전의 패키지가 설치됨
apt-cache depends nodejs 검색하면 더 자세히 확인 가능

dpkg -l -> 설치된 패키지 목록, 나갈 때는 q.
dpkg -l | grep apt -> 내가 설치한 apt이름이 들어간 패키지를 검색

  • 절대경로
    /home/user -> /를 사용
  • 상대경로
    현재 경로 : .
    상위 경로 : ..
  • WSL 경로
    C:\Users\user\AppData\Local\Packages\ -> 해당 위치에서 ununtu 들어가는 곳을 찾는다.
    .\LocaStage\rootfs 현위치가 Ubuntu에서 작업하는 root경로 즉 "\" 위치이다.
    \home\meta 진입하면 테스트에 사용했던 test.txt 파일들이 있다.
    리눅스에 USB를 꽂으면 .\rootfs\media에서 확인가능

데이터와 데이터베이스

DB는 Data를 시스템화 하여 공유목적으로 구성한 것.
특징 :
1. 실시간 접근성 : 비정형적인 질의(조회)에 대하여 실시간 처리에 의한 응답이 가능해야 한다.
2. 지속적인 변화 : 데이터의 삽입, 삭제, 갱신으로 항상 최신 데이터를 유지해야 한다.
2. 동시 공유 : 다수의 사용자가 동시에 같은 내용의 데이터를 이용 할 수 있어야 한다.
3. 내용에 따른 참조 : 데이터의 주소나 위치.... 책 참조.

sql설치

postgresql 검색 in Google, windows용으로 다운.

postgres 설치

stack builder 선택 해제, password는 postgres, port는 5432(기본), Korean/Korea,

환경변수 편집 : 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임..

시스템 변수에서 path 선택, 편집클릭, 새로만들기, C:\Program Files\PostgreSQL\14\bin입력. 그 후 확인, 확인.

cmd에서 psql --version 누르면 14.1버전 확인 가능.

PostgreSQL(DBMS) - Language

①psql(쉘) 인터페이스를 사용하여 PostgreSQL을 조작가능.

psql검색후 실행, 바로 enter.... 암호 입력란 나올때 까지.. 암호는 postgres

②cmd 인터페이스로 접근 및 조작 가능

이렇게 접근 하려면 환경변수에서 C:\Program Files\PostgreSQL\14\bin 설정해야함.
cmd를 통해 psql로 접근한 것임 ctrl+d 입력하고 \q입력하면 cmd로 나가진다.

Data base목록 및 사용자 확인 방법, \c사용하여 데이터베이스 명 변경가능, \q사용하여 빠져 나올 수 있음

CMD 사용하며 \l 입력했는데 error발생시...

'more' 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
와 같은 error발생 시,
윈도우 키 -> 시스템 환경변수 편집 -> 환경변수 클릭 -> 시스템 변수-path 에서 편집 -> 새로 만들기 -> C:\windows\system32 입력 후 저장

(참조 : https://ssimplay.tistory.com/223)

DATABASE 생성 및 삭제

\dt입력 하여 현재 접속한 DB Instance의 Table list 조회.
'관련 릴레이션 찾을 수 없음.' 이 나오는게 정상이며,
※한줄로 모두 쳐도 된다 ^^ 입력의 편의성을 위해 줄을 나눴다.
CREAT TABLE... ...); 까지 입력하고 Enter. -> 'CREATE TABLE' 출력확인
만약 입력 중간 오타가 났다면 바로 );를 입력하고 다시 재 입력,
만약 윗줄에서 ','를 놓쳤다면 아래줄에서 입력하면 된다.
대문자는 모두 명령어이다. postgres로 하였기 떄문에 소유주가 postgres.
\e누르면 내가 입력한 code가 메모장으로 켜진다.

CREATE DATABASE book_sotre; 입력하여 DB를 만든다.
아래아 같이 추가되었음을 알 수 있다.
DROP DATABASE book_sotre;
아래와 같이 삭제되었음을 알 수 있다.

데이터 삽입

book_store 데이터명으로 접근 후, (CREAT TABLE... 다시 해야한다)
INSERT INTO develop_book VALUES(1, '2019-12-17', 'mongoDB');
테이블명 - develop_book
book_id - 1
date - 2019-12-17
name - mongoDB
아래 INSERT 0 1 -> INSERT [oid count] oid는 서비스 하지 않으므로 무시.

#### 데이터 조회
SELECT*FROM develop_book;
*(칼럼명 위치, 모든 칼럼을 의미)

아래 사진과 같이 postgresql Manual을 확인가능

profile
공정 설비 개발/연구원에서 웹 서비스 개발자로 경력 이전하였습니다. Node.js 백엔드 기반 풀스택 개발자를 목표로 하고 있습니다.

0개의 댓글