PROGRAMMING/DataBase 18

[postgresql/mac] postgresql 설치

[postgresql/mac] postgresql 설치 for mac m1 1. 터미널 접속 후 설치 명령어 입력 brew install postgresql 명령어 입력 시 설치 쭉쭉 진행됨 2. 설치 로그에 있는 postgresql 실행 명령어 입력 brew services start postgresql # 또는 brew services restart postgresql 명령어 입력 시 착착 진행됨 3. 설치가 완료되었으니 명령어 입력하여 버전 확인 postgres -V 설치된 postgresql의 버전이 출력됨 4. postgresql 실행 psql postgres postgres로 접속됨을 확인할 수 있음. 접속을 종료하고 싶다면 exit 입력. 이 후 계정, 데이터베이스 등을 생성하여 사용하면 된..

[MySQL] 컬럼속성변경 오류해결방법_ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_TIMESTAMP' at line 1

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_TIMESTAMP' at line 1 ▶︎ table 컬럼의 타입을 변경하고 싶을 때 ALTER TABLE tableName MODIFY columnName 변경할TYPE; ▶︎ table 컬럼의 default를 설정/수정하고 싶을 때 ALTER TABLE tableName ALTER COLUMN columnName SET DEFAULT 설정할값; ▶︎ defalut 값 설정 변경 시 발생 에러 ERROR 1064 (..

[mysql/mac]계정생성, 계정권한부여, database생성, table생성

MySQL CLI 에서 MySQL의 계정 생성 방법, 만든 계정에 권한 부여 방법, database 생성 방법, table 생성 방법을 알아봅니다. 아래 글의 실습 환경은 mac환경 입니다. m1 mac을 사용하였으며, m1의 mysql환경 셋팅에 어려움이 있으신 분들은 댓글 남겨주시면 확인 후에 답변 드리겠습니다. 1. MySQL 계정 생성 방법 terminal에서 root 계정으로 mysql을 접속합니다. mysql -u root -p (password) 접속 후 계정 목록을 확인해볼 수 있습니다. select user, host from mysql.user; 계정을 생성하는 명령어를 입력하여 계정을 만들어봅니다. 아래 사진에 보면, 각각 계정 id와 passwordf를 ('')로 묶지 않아 오류가 ..

[mysql/mac]cli database, table 사용 insert, delete 문(DML)

database_MySQL_cli database 시작 방법 및 DML(insert, delete) 간단 사용 방법 for mac 먼저 터미널을 켠 후에 아래 글을 읽으며 차근차근 진행해봅니다. mysql 접속 mysql -u USERNAME -p PASSWORD​ mysql을 사용할 때는 미리 만들어진 계정으로 접속을 해야 mysql database를 사용 가능합니다. USERNAME의 위치에는 계정 이름을, PASSWORD의 위치에는 계정 비밀번호를 입력해서 접속 후에 database를 조회/확인/수정 등의 작업을 수행할 수 있습니다. 현재 데이터베이스 목록 확인하기 show databases;​ 현재 만들어져있는 database의 목록들이 출력됩니다. databases로 s가 붙어있음에 주의합니다!..

[mysql/mac]Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 오류 해결방법 _ for Mac m1

MySQL_Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 오류 해결방법 _ for Mac m1 mysql 설치하고 있는데, 설치 후 보안 관련된 초기 설정을 해줘야한대서 mysql_secure_installation 명령어를 입력한 순간 엥 무슨 비밀번호? 하고 엔터치는 순간 뜨는 오류~ Error : Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) ...... Error 다섯글자만 보면 눈물 주륵주륵 나오는 사람 손들어요 ㅠㅠ 그 사람이 바로 나에요.. 아니 ㅠㅠ mysql 설치 하고 설정하는건데 무슨 password가 있냐고 ㅠㅠ 그냥 ..

DATABASE_09_데이터베이스 보안과 관리

DBA 여러 시스템 관리자 중 데이터베이스를 관리하는 엔지니어. 서비스 관리, 백업과 복원, 사용자 관리, 성능 관리 등의 작업을 함 DCL 데이터 제어어. 소유한 개체에 대한 사용 권한을 관리하는 명령 권한 관리 GRANT 문 : 객체를 생성한 소유자가 대상 객체에 대한 권한을 다른 사용자에게 허가해주는 명령 REVOKE 문 : GRANT 문으로 허가한 권한을 취소, 회수하는 명령 WITH GRANT OPTION 허가받은 권한을 다른 사용자에게 다시 부여할 때 사용하는 옵션 역할(ROLE, 롤) 데이터베이스 객체에 대한 권한을 모아둔 집합 백업 예상하지 못한 장애에 대비하여 데이터베이스를 복제하여 보관하는 작업 복원 장애가 발생하여 운영중인 데이터에 손상이 발생했을 때 기본에 복사해 둔 백업 파일을 사..

DATABASE_08_트랜잭션, 동시성 제어, 회복

트랜잭션의 성질 원자성 : 트랜잭션과 관련된 작업을이 전부 수행되든지 아니면 전부 수행되지 않아야 함 일관성 : 트랜잭션을 수행하기 전이나 후나 데이터베이스는 항상 일관성 있는 상태를 유지해야 함 고립성 : 트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장해야 함 지속성 : 성공적으로 수행을 완료한 트랜잭션은 변경한 데이터를 데이터베이스에 영구히 저장해야 함 동시성 제어 트랜잭션이 동시에 실행될 때 데이터베이스의 일관성을 해치지 않도록 트랜잭션의 데이터 접근을 제어하는 DBMS의 기능 갱신손실 동시성 제어를 하지 않는 트랜잭션들이 발생시키는 문제. 한 트랜잭션의 갱신이 다른 트랜잭션에 의하여 분실되는 현상 락-락의 유형 트랜잭션이 데이터를 읽거나 변경할 때 데이터에 표시하는 잠금 장치..

DATABASE_07_정규화

이상현상 잘못 설계된 테이블로 삽입, 삭제, 수정 같은 작업을 했을 때 생기는 현상. 데이터베이스의 일관성을 훼손하여 데이터의 무결성을 깨트림. 삭제이상 : 투플 삭제 시 하나의 정보를 삭제함으로써 같이 저장된 다른 정보가 연쇄적으로 삭제되는 현상 삽입 이상 : 투플 삽입 시 제공되지 못하는 속성 값을 NULL 값으로 입력해야 하는 현상 수정 이상 : 투플 수정 시 중복된 데이터의 일부만 수정되어 데이터의 불일치가 일어나는 현상 함수 종속성 릴레이션 R과 R에 속하는 속성의 집합 X, Y가 있을 대, X 각각의 값이 Y의 값 한 개와 대응될 때 'X는 Y를 함수적으로 결정한다'라고 하고 X→Y로 표기 정규화 릴레이션을 분해하여 이상현상을 제거하는 과정 제 1정규형(1NF) : 어떤 릴레이션 R의 모든 속..

DATABASE_06_데이터 모델링

데이터베이스 생명주기 데이터베이스 생성과 운영에 관련된 '요구사항 수집 및 분석 - 설계 - 구현 - 운영 - 감시 및 개선' 사이클 개념적 모델링 개체를 추출하고 각 개체 간의 관계를 정의하여 ER 다이어그램을 만드는 과정 논리적 모델링 개념적 모델링 단계에서 만들어진 ER 다이어그램을 사용하고자 하는 DBMS에 맞게 매핑하여 실제 데이터베이스로 구현하기 위한 모델을 만드는 과정 물리적 모델링 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정 ER 모델 데이터 모델링 과정 중 개념적 모델링 단계에서 사용하는 모델. 1976년 피터 첸(Peter Chen)이 제안. ER 모델의 핵심 개념은 세상의 사물을 개체와 개체 간의 관계로 표현하는 것 개체와 개체 ..

DATABASE_05_데이터베이스 프로그래밍

데이터베이스 프로그래밍 DBMS에 데이터를 정의하고 시스템에 저장된 데이터를 읽어와 데이터를 변경하는 프로그램을 작성하는 과정 삽입 프로그래밍 SQL을 자바, C와 같은 범용 프로그래밍 언어에 삽입하여 프로그래밍하는 것. SQL문이 삽입된 프로그래밍 언어를 호스트 언어라고 함 저장 프로그램 데이터베이스 전용 응용 프로그램을 작성할 때 사용하는 MySQL의 SQL 확장 언어. 프로그램 로직을 프로시저로 구현하여 객체 형태로 사용. 저장 프로시저 저장 프로그램에서 사용하는 기능으로, 일반 프로그래밍 언어의 함수 대신 사용하는 명칭. 프로시저를 정의하여 DBMS에 저장 커서 실행 결과 테이블을 한 번에 한 행씩 처리하기 위하여 테이블의 행을 순서대로 가리키는데 사용하는 포인터. 커서에 관련된 키워드-CURSO..

728x90